WO2005018204A1 - Method, system and device for establishing calls over ip network - Google Patents

Method, system and device for establishing calls over ip network Download PDF

Info

Publication number
WO2005018204A1
WO2005018204A1 PCT/IL2004/000586 IL2004000586W WO2005018204A1 WO 2005018204 A1 WO2005018204 A1 WO 2005018204A1 IL 2004000586 W IL2004000586 W IL 2004000586W WO 2005018204 A1 WO2005018204 A1 WO 2005018204A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
user
session
signaling
public
Prior art date
Application number
PCT/IL2004/000586
Other languages
French (fr)
Inventor
Shai Stein
Original Assignee
Eci Telecom Ltd.
Morgenstern, Moredechay
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Eci Telecom Ltd., Morgenstern, Moredechay filed Critical Eci Telecom Ltd.
Publication of WO2005018204A1 publication Critical patent/WO2005018204A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to the problem of establishing and authorizing multimedia calls (such as voice, fax, data, video calls) between two users over an IP (Internet Protocol) network.
  • multimedia calls such as voice, fax, data, video calls
  • IP Internet Protocol
  • Fig. 1 One presently known standard mechanism of establishing calls between two end users (subscribers) via IP network is illustrated in Fig. 1. This mechanism is described in a recommendation IETF RFC 2543 (http ://w ww . ietf . or g/rfc/rfc2543. txt and is shortly explained below.
  • a 1 st user 10 wishes to establish a multimedia call with a 2 nd user 12 over a public IP network 14
  • the 1 st user 10 applies to a signaling device SD 16 (via an edge device EDI as shown m Fig. 1, or directly) in order to obtain information and confirmation concerning the planned call.
  • SD 16 via an edge device EDI as shown m Fig. 1, or directly
  • the 1 st user may know some given address of the 2 nd user (e.g., its phone number) but not the address in the appropriate format for the call session. That information should be determined during the signaling session.
  • the signaling device 16 may be SIP Proxy Server of Session Initiating Protocol for Real-time Transport Protocol (RTP), or GK -Gate Keeper of H.323 for telephony over IP. Let in this example the device 16 be SIP1 - Session Initiation Protocol Proxy Server assigned to the network domain comprising the 1 st user. Let also, the multimedia call will be an RTP session.
  • the 1 st user When the 1 st user sends its initiating message to the attached SIP proxy server SIPl, it states inside the message what source address (from the side of 1 st user) is allocated for the multimedia session.
  • the message has several fields: In an outer envelope, the signaling session description: la.
  • the source IP address of the 1st user lb.
  • the destination IP address of the SIP proxy server associated with the 1 st user, In an inner envelope (SIP details) - the call session description: 2a.
  • the source the given address (most likely, the IP address) of the 1 st user and the UDP port that the 1 st user has allocated at the U 1 for the RTP session. 2b.
  • the destination the given address of the 2 nd user (called party).
  • the address may be a phone number, a URL-encoded string according to RFC 1738, (http://www.ietf.org/rfc/rfc 1738.txt) IP address + UDP port of the called party, etc.
  • SIPl supplies the 1 st user with the IP address of the 2 nd user + UDP port at the 2 n user, if the 1 st user does not already know these details.
  • UDP port is a particular logical connection at a network element, which is usually assigned per one session, either signaling or RTP). In the example of Fig.
  • the SIPl contacts another SIP proxy server (SIP2, 18) of another network domain, to get assistance in obtaining the IP address and UDP port of the destination user and therefore to get approval to the call from the side of 2 nd user 12.
  • SIP2, 18 SIP proxy server
  • the SIP l will thus enable the 1 st user to communicate with the 2 nd user.
  • the l bt user finally creates a multimedia connection with an Edge Device (ED 20) using IP based J protocol (for example, RTP over UDP protocol).
  • SIP proxy servers are responsible for coordination between termination points of the multimedia session.
  • the edge devices ED have the role of filtering out unauthorized sessions, thus preventing breach to the network.
  • at least one user of those participating in the call may have a private IP address instead of a public IP address.
  • UDP port number is selected by NAT per session. That is, if the same private address (say, of Ul) establishes multiple sessions with the "outer" world, there will be multiple UDP ports assigned for it, and that may take place also in case a signaling session is related to a multimedia session (i.e., the related signaling and multimedia sessions will be assigned independent different UDP port numbers).
  • the NAT functionality replaces the source address portion of the "outer envelope" of the message (la ), but it does not go into the "inner envelope” of the message to look for details of the session, and does not modify the possibly existing private address and the UDP port that the 1 st user allocated for the multimedia session (2b). Moreover, even if the NAT would modify those details, it is impossible for it to "remember” the details it saw on the "SIP” ("signaling”) route and to apply the required changes when the 1 st user starts sending the multimedia (say, RTP) message on the "RTP" route.
  • the initiating message states the private IP address of the 1 st user and the UDP port that the 1 st user has allocated for the requested RTP session. This information will be delivered to the 2 nd user.
  • the V 1 user upon receiving permission to establish the call, starts its RTP session to the 2 nd user via the IP network 14, the NAT 22 will probably assign a new UDP port number for this session.
  • the 2 nd user will be unable to relate the incoming data to the same session it agreed previously to open. This is a first problem of the described mechanism.
  • US patent application 2002/0141384 Al describes a solution for establishing a path between two audio-telephony communication clients via an IP network. That application identifies a similar problem.
  • the IP address and/or the UDP port used by one of the telephony clients during a signaling session may be different from the values it uses for sending the media datagrams to the second telephony client.
  • the general procedure described in the US 2002/0141384 Al is as follows.
  • the first telephony client initiates a call and provides its IP address and UDP port to the second telephony client as part of the connection establishment sub process.
  • the second telephony client assigns a UDP port from its side for communicating with the first telephony client. Then, the second telephony client detects, on the said UDP port it assigned, a different IP address and UDP port in the incoming media datagrams. If the second telephony client determines that the first client is located behind a NAT, the second client may adapt itself and use the modified IP address and or the UDP port values instead of the values agreed during the connection establishment sub process. There are several limitations to the described procedure.
  • the second telephony client receives actual media datagrams from an unidentified source (i.e., if the actual source address is different than the "expected" source address) the traffic can still be referred to the first telephony client.
  • receipt of such media datagrams can be due to other reasons, such as a wrongly- routed traffic or traffic from a non-authorized telephony client. In both cases the receiver would better discard the incoming traffic rather than assuming it is a change in the source address of the first client.
  • a public device i.e., serving as the second client in the said model
  • Such a public device will distinguish between the various sessions it carries out on the same port according to different remote (i.e., first client's) addresses. This is possible as long as the remote addresses are permanent.
  • the second client detects new IP addresses and/or UDP ports it cannot determine the relationship between the 'old' and 'new' addresses.
  • the second problem, regarding the call authorization by the edge devices is not addressed at all. Summary of the invention
  • the above difficulties can be resolved by providing a method for establishing a communication via a public IP network between a I st user U 1 belonging to a private IP network and a 2 nd user U2, wherein the 1 st user Ul is associated with a 1 st signaling device SD l for performing a signaling session of the communication to request for establishing a multimedia session of the communication, the 1 st user Ul is also associated with a 1 st edge device EDI having a public IP address in the public IP network and participating in the requested multimedia session between the 1 st user Ul and the 2 nd user U2; the method being characterized in that, in order to coordinate between the signaling and the multimedia sessions for ensuring the communication between said Ul and said U2, it comprises performing the following operations at the ED 1 : - at the beginning of both the signaling session and the multimedia session initiated from one and the same initial Ul address for one and the same said communication, replacing the initial address of Ul , indicated as a source address for the requested multimedia session and called a replaced
  • the method is mostly advantageous and intended for a case where the Ul , belonging to the private IP network, has a private IP address.
  • the initial address of U l is a private IP address of U l ⁇ UDP port at Ul specified at the signaling session.
  • the user Ul may have a public IP address, a specific telephone number, etc.
  • the term "specified public address of the edge device ED I" should be understood as its public IP address + UDP port specified at the EDI for the signaling session.
  • the method is also suitable for cases where the initial address of the user Ul belonging to the private network is declared as any publicly known address such as: a URL encoded string, an ICQ number, a globally known phone number, etc.
  • the step of recording preferably comprises storing a destination address of the requested multimedia session in addition to said replaced address, thereby recording initial address details of the multimedia session together with said replacing address.
  • the method includes: step (a) of the signaling session followed by step (b) of establishing the requested multimedia session; step (a) comprising applying from the 1 st user U l to the 1 st edge device ED I (instead of applying to the SD l), with an initiating message indicating the 1 st user Ul initial address as a source address of the requested multimedia session (the initiating message comprises so-called "initial address details" which are a source address of the requested multimedia session and a destination address of the requested multimedia session), modifying, at the EDI, said source address of the requested multimedia session by said replacement of the initial address of the l bt user Ul in the initiating message (the replaced address) with the specified for the signaling session IP public address of the ED I (the replacing address), performing the record, in said EDI, at least of said replaced initial address of Ul in relation to the replacing specified public IP address of EDI (preferably, EDI records the replaced address within the initial address details of the multimedia session), applying from the EDI
  • the multimedia session is preferably an RTP (Real Time Protocol) session. It can also be a UDP (User Datagram Protocol) session, or the like. Since the private users are preferably interconnected with the public IP network via NAT (Network Address Translator), the IP private address of the 1 st user Ul allocated at a signaling session should preferably be understood as its Private IP address + the number of a UDP port assigned by NAT to the 1 st user during the signaling session.
  • the IP public address of the ED I at a signaling session should preferably be understood as the public IP address of the ED I + the number of a UDP port assigned at the EDI for the signaling session.
  • the signaling device SDl preferably comprises one of the following: a) SIP - Proxy Server of Session Initiating Protocol for Realtime Transport Protocol (RTP) or Transmission Control Protocol (TCP) , b) GK -Gate Keeper of the H.323 standard for telephony over IP.
  • RTP Realtime Transport Protocol
  • TCP Transmission Control Protocol
  • GK -Gate Keeper of the H.323 standard for telephony over IP.
  • tthhee 22 nndd uusseerr (UU22)) mmaayy bbee ssyymmmmee'trically associated with a 2 ⁇ signaling device SD2 for preparing and authorizing the call
  • the U2 may be operative to establish the call via a 2 nd edge device
  • the 2 nd user U2 may have a private IP address and be associated with its NAT (say, in the ED2) having a public IP address. Therefore, the proposed method may symmetrically be performed from the side of user U2 towards the side of user Ul . The method, to be performed on the site, requires providing the
  • ED I with an additional functionality to handle requests of Ul and behave as an intermediate device between the user Ul and the signaling device SD l .
  • the additional functionality of EDI is in that it is capable of participating in a signaling session, namely capable of receiving an initiating message from Ul with a source address comprising the private IP address and a UDP port of the 1 st user Ul, and capable of directing the initiating message to the SDl after replacing said source address with the self (EDI) public IP address and UDP port assigned at this signaling session, that will remain unchanged for the multimedia (such as RTP) session too.
  • the EDI should be operative to store its address with the particular number of UDP port assigned at the signaling session, in association with the private IP address + UDP port of the user Ul initiated the signaling session. It is therefore easy for the EDI to track the multimedia session establishment and use the stored addresses for the multimedia session, as well as to close the loops of the sessions (bridging the signaling and the multimedia sessions to the initial address of the user Ul).
  • the l bt user U l should preliminarily be modified (configured) to be capable of using the EDI public IP address instead of the IP address of the SDl which has previously been utilized as a current destination address for the signaling session in the outer envelope of the initiating message.
  • the described method therefore overcomes both the 1 st and the 2 nd problems outlined above by enabling the edge device EDI to support the signaling initiation message, modify the required address details, and to coordinate between routes of the signaling and multimedia sessions. Since the edge device ED I keeps track to all information concerning both the signaling and the multimedia session of a call, it becomes capable of authorizing the call. Other technical means ensuring such functionality and behavior of Ul and SDl will be disclosed as the description proceeds. Based on the special functionality required from the edge device EDI according to the invention, there is another subject of the invention which is to be separately protected, and it is the enhanced edge device EDI .
  • an edge device ED with a public IP address suitable for communication via an IP network between users U having private IP addresses and associated with one or more signaling devices SD the edge device is capable of: - receiving and supporting a signaling initiating message from a user U associated with said edge device ED, said message carrying address details with a source address of a requested multimedia session being the private IP address and current UDP port of the user U; - modifying the address details of said message by replacing the source address of the requested multimedia session with the public IP address of the ED and current UDP port at the ED; - forwarding said message with the modified address details to the Signaling Device SD associated with said user U to perform a signaling session, and - preserving said modified address details for the multimedia session related to said signaling session, and using them in the multimedia session, thereby coordinating between routes of the signaling and multimedia sessions.
  • the enhanced edge device ED is also capable of serving users having public IP addresses (not belonging to a private IP network), in this case the ED operates in a conventional way. Depending on the user's address, its associated edge device ED is adapted to switch from the enhanced mode to the conventional mode and back whenever required.
  • a system for establishing a multimedia session capable of performing the above-described method and/or comprising the above-described enhanced edge device.
  • Still an additional aspect of the invention is a software product comprising software implementable instructions and/or data for carrying out the above-described method.
  • the software product can be recorded on a carrier medium.
  • the proposed software product is intended to be incorporated in the improved edge device ED.
  • Fig. 1 illustrates a schematic block-diagram of establishing a call session upon a signaling session.
  • Fig. 2 illustrates a schematic block-diagram of establishing a multimedia session according to the invention.
  • Figs. 3a, 3b schematically illustrate initiating messages and an exemplary succession of address details utilized and transferred between network elements in the process of establishing a multimedia session in the system shown in Fig. 1.
  • Fig. 4a, 4b schematically illustrate initiating messages and an exemplary succession of address details utilized and modified at the network elements in the process of establishing a multimedia session according to the invention (Fig. 2).
  • the so-called outer envelope of the initiating message is responsible to show a source address and a destination address of the signaling message itself. It is important that the destination address in the outer envelope of the initiating message be the IP public address of EDI, and not of SDl (to allow modifying the initial address details of the inner envelope at EDI).
  • the signaling session includes:
  • the edge device EDI modifying the initial address details, namely the source address of the requested multimedia session to be the public IP address of EDI and indicating a UDP port at ED I selected by EDI at the signaling session, keeping at least a related pair of the replaced and the replacing addresses at EDI (preferably, all the initial address details and the replacing address), and applying from the edge device EDI to the signaling device SDl associated with the user Ul to perform the signaling session with U2 utilizing the modified initial address details , - at the signaling device SDl , upon receiving the IP address of U2 and a UDP port at
  • step (b) Upon successful completion of the signaling session, there is step (b) of establishing the requested multimedia session between Ul and U2 via ED I whenever initiated from the same UDP port at Ul (and preferably, to the same destination address as indicated in the signaling session).
  • Step (b) includes indicating a source address of the multimedia traffic to be the public IP address of ED 1+ the UDP port at ED I specified at the preceding signaling session, thereby ensuring coordination between the signaling and the multimedia sessions as well as between Ul and U2.
  • Fig. 2 illustrates a simplified diagram of a system 100 adapted to perform the proposed method, for a case when the user Ul presents itself using a private IP address.
  • User U l marked 1 10) and users Uk, Un belong to a private IP network 1 1 1.
  • the edge device ED I is provided with NAT functionality (122) and to support the conventional and some additional functionality comprises an internal processing and memory block 123.
  • the system 100 also comprises a signaling device SDl (marked 1 16) for performing signaling sessions preceding the multimedia traffic.
  • user U2 may belong either to the public IP network 124, or to its private IP network (not shown).
  • the system may also include an edge device ED2 (124) and a signaling device SD2 (1 18) associated with the user U2 (1 12), for performing symmetric operations from its side.
  • ED2 also comprises NAT functionality enabling communication with U2 if the latter belongs to a private IP network.
  • a user Ul initiates a call to a user U2, it issues an initiating message which is handled in a different manner than it is done in the system of Fig. 1.
  • the beginning of the signaling session contrary to the procedure described with reference to Fig. 1, is not performed just between Ul and SDl using NAT functionality located anywhere there - between; it can be divided into the following two stages. The first stage takes place between the user Ul and EDI via its NAT functionality, and the second stage is performed between EDI and SDl . (Further signaling communication between SD l and the user U2 is not discussed in the frame of the present application .
  • the purpose of the proposed two-stage start of the signaling session is to modify address details in the inner envelope of the initiating message, namely to replace the private IP source address of the requested multimedia session (i.e., the private IP address of Ul) with a public IP source address (of the edge device ED 1 ) which will represent the user. This public IP address is then advised to the signaling device SDl and will further be used for completing the signaling session and for establishing the multimedia session.
  • EDI stores the addresses interchanged at the signaling session for terminating the signaling session, and for delivering the multimedia call, when finally established, to the real user Ul .
  • Fig. 3a schematically illustrates an initiating message 200, which is issued from the user Ul (10) to its associated signaling device SIPl to start the signaling session in order to establish a requested multimedia session with a user U2 in the system shown in Fig. 1.
  • the message 200 is a digital packet composed from a so-called outer envelope 202 indicating the current source address (SA) 201 and the current destination address (DA) 203 of this particular signaling message, and a so-called inner envelope 204 indicating a source address (SA) 205 of the requested multimedia session and a known portion of a destination address (DA) 207 of the requested multimedia session.
  • address details should be understood as the inner envelope of the initiating message, containing address details of the multimedia session.
  • the user Ul indicates its source address in the signaling session as private IP address of U1+ UDP port 7 allocated at the user for this session (box 201).
  • the user Ul shows the same source address for the requested multimedia message (box 205).
  • the destination address of the signaling message is address of SIPl proxy server (box 203).
  • the destination address of the multimedia session is, say, URL of the user U2 (box 207).
  • Message 210 which will arrive to SIP l upon being handled by NAT.
  • NAT modifies the outer envelope 202 by changing the private address of the user Ul by a public IP address of the device in which NAT is allocated + a specific UDP port allocated by NAT at this device (in the present example, this device is ED I , let us write its address as PUB. E l ).
  • box 201 will now comprise address PUB.E 1+UDP 10.
  • the outer envelope 202 (both 201 and 203 boxes) is removed by SIP 1 and may be changed while the signaling message moves to the SIP2, etc.
  • U2 may be contacted directly from SD l . It should be noted that no change is made to the address details carried by the inner envelope 204 of the message, and the inner envelope 204 will further be sent in the signaling session up to the user U2, for getting its approval for establishing a multimedia session.
  • the chain of forwarding the inner envelope in the signaling message from U l to SIP2, and returning the message from SIP2 to Ul is shown in
  • Fig. 3b The signaling session is indicated by single arrows.
  • SIP2 returns the signaling message upon introducing the exact destination address of user U2 into box 207. Let that be indicated as public IP address of U2+UDP port (Pub.U2 UDP 16).
  • Ul issues to EDI a digital packet schematically marked 310, comprising a header where a source address of the multimedia session is indicated in portion 305, and the destination address - in portion 307.
  • the rest of the packet (portion 3 12) comprises data (voice, fax, video, etc.) which is to be transmitted during the multimedia session.
  • NAT located at the edge device EDI will naturally replace the private source address indicated in the header with the public address of EDI, and will allocate for this session another UDP port, say UDP22.
  • the user U2 is prepared to receive data from the address Priv.Ul, UDP7 which was approved at the signaling session (see the "answer" above in the chain). Therefore, the data sent from Ul in the multimedia session might not be received by U2.
  • FIG. 4a shows how the initiating message is changed at the edge device EDI which, according to the invention, actively participates in forwarding the message to SD1( SIP or GK).
  • the public IP address of EDI which is introduced by NAT in the outer envelope 202 (box 201) of the message instead of the private IP address of Ul , is also inserted in the inner envelope 204 (box 205) as the source address assigned for the future multimedia session.
  • the modified message 209 demonstrates the changed address details. Simultaneously, the two interchanged addresses are stored in the internal memory block M (21 1) of the edge device EDI .
  • the message is further transmitted to SDl (the lower message 210), and there only the outer envelope is suitably changed.
  • the edge device EDI modifies the inner envelope of the signaling message by replacing the private IP address of the user Ul with the public IP address of ED I specified for this signaling session (i.e., with UDP ports allocated for this session). Also, the exchanged addresses are linked and registered in the memory block M (211) of the edge device EDI . Similar to the known version (Fig. 3b), the second signaling device SD2 returns the answer where the exact address of U2 is inserted in the inner envelope of the message, at the place of box 207. This inner envelope, in the return message, reaches EDI and then - Ul .
  • the user Ul from the private IP network may have and present itself with a known address such as a URL encoded string, ICQ number, globally known telephone number.
  • ICQ number globally known telephone number
  • the user U2 may have a private IP address (URL code, ICQ number, known phone number) so both edge devices ED 1 and ED2 would operate in the enhanced mode.
  • the proposed edge device may serve not only clients from a private IP network so, depending on the user's address, the edge device may change its mode between a conventional and the enhanced.
  • the proposed concept is defined in the claims that follow.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A method for establishing a communication via a public IP network between a 1st user U1 (110) belonging to a private IP network (111) and a 2nd user U2 (112), wherein the 1st user U1 is associated with a 1st signaling device SD1 (116) for performing a signaling session to request a multimedia session, the 1st user U1 is also associated with a 1st edge device ED1 (120) having a public IP address in the public IP network and participating in the requested multimedia session between the 1st user U1 and the 2nd user U2. The method gives a solution for a case where at least the U1 has a private IP address. The method, to be performed on the site, requires providing the ED1 with an additional functionality to handle requests of U1 and to behave as an intermediate device between the user U1 and the signaling device SD1.

Description

METHOD , SYSTEM AND DEVICE FOR ESTABLISHING CALLS OVER IP NETWORK
Field of the invention
The present invention relates to the problem of establishing and authorizing multimedia calls (such as voice, fax, data, video calls) between two users over an IP (Internet Protocol) network.
Background of the invention
One presently known standard mechanism of establishing calls between two end users (subscribers) via IP network is illustrated in Fig. 1. This mechanism is described in a recommendation IETF RFC 2543 (http ://w ww . ietf . or g/rfc/rfc2543. txt and is shortly explained below. When a 1 st user 10 wishes to establish a multimedia call with a 2nd user 12 over a public IP network 14, the 1 st user 10 applies to a signaling device SD 16 (via an edge device EDI as shown m Fig. 1, or directly) in order to obtain information and confirmation concerning the planned call. For example, the 1st user may know some given address of the 2nd user (e.g., its phone number) but not the address in the appropriate format for the call session. That information should be determined during the signaling session. The signaling device 16 may be SIP Proxy Server of Session Initiating Protocol for Real-time Transport Protocol (RTP), or GK -Gate Keeper of H.323 for telephony over IP. Let in this example the device 16 be SIP1 - Session Initiation Protocol Proxy Server assigned to the network domain comprising the 1st user. Let also, the multimedia call will be an RTP session. When the 1st user sends its initiating message to the attached SIP proxy server SIPl, it states inside the message what source address (from the side of 1st user) is allocated for the multimedia session. The message has several fields: In an outer envelope, the signaling session description: la. The source: IP address of the 1st user lb. The destination: IP address of the SIP proxy server associated with the 1st user, In an inner envelope (SIP details) - the call session description: 2a. The source: the given address (most likely, the IP address) of the 1st user and the UDP port that the 1st user has allocated at the U 1 for the RTP session. 2b. The destination: the given address of the 2nd user (called party). The address may be a phone number, a URL-encoded string according to RFC 1738, (http://www.ietf.org/rfc/rfc 1738.txt) IP address + UDP port of the called party, etc. SIPl supplies the 1st user with the IP address of the 2nd user + UDP port at the 2n user, if the 1st user does not already know these details. (UDP port is a particular logical connection at a network element, which is usually assigned per one session, either signaling or RTP). In the example of Fig. 1, the SIPl contacts another SIP proxy server (SIP2, 18) of another network domain, to get assistance in obtaining the IP address and UDP port of the destination user and therefore to get approval to the call from the side of 2nd user 12. By providing the 1st user with the required IP address and UDP port of the 2nd user, the SIP l will thus enable the 1st user to communicate with the 2nd user. According to the example of Fig. 1 , the lbt user finally creates a multimedia connection with an Edge Device (ED 20) using IP based J protocol (for example, RTP over UDP protocol). SIP proxy servers are responsible for coordination between termination points of the multimedia session. The edge devices ED have the role of filtering out unauthorized sessions, thus preventing breach to the network. The important thing to be explained that at least one user of those participating in the call (say, the 1st user 10) may have a private IP address instead of a public IP address. In this case, there will be a NAT (Network Address Translation) functionality that can be part of either the edge device ED or the SIP proxy server; the NAT functionality added to the edge device 20 is schematically shown in Fig. 1 by a dotted contour 22. This means that a plurality of private addresses is represented by a single public address of the unit having the NAT functionality. To the external world, there is only the public address of this NAT-associated unit, while the distinguishing between different private addresses is provided by using a separate UDP port per each. The UDP port number is selected by NAT per session. That is, if the same private address (say, of Ul) establishes multiple sessions with the "outer" world, there will be multiple UDP ports assigned for it, and that may take place also in case a signaling session is related to a multimedia session (i.e., the related signaling and multimedia sessions will be assigned independent different UDP port numbers). The NAT functionality replaces the source address portion of the "outer envelope" of the message (la ), but it does not go into the "inner envelope" of the message to look for details of the session, and does not modify the possibly existing private address and the UDP port that the 1st user allocated for the multimedia session (2b). Moreover, even if the NAT would modify those details, it is impossible for it to "remember" the details it saw on the "SIP" ("signaling") route and to apply the required changes when the 1st user starts sending the multimedia (say, RTP) message on the "RTP" route. Indeed, when applying from the 1st user 10 (via its NAT 22) to SIP l (16), the initiating message states the private IP address of the 1st user and the UDP port that the 1st user has allocated for the requested RTP session. This information will be delivered to the 2nd user. However, when the V1 user, upon receiving permission to establish the call, starts its RTP session to the 2nd user via the IP network 14, the NAT 22 will probably assign a new UDP port number for this session. Hence, the 2nd user will be unable to relate the incoming data to the same session it agreed previously to open. This is a first problem of the described mechanism. Another problem is that when the "RTP" route is created via the edge devices ED, there is no way to any of the elements in the path to know whether the call was authorized or not. It disables the ED to filter out unauthorized calls. US patent application 2002/0141384 Al describes a solution for establishing a path between two audio-telephony communication clients via an IP network. That application identifies a similar problem. The IP address and/or the UDP port used by one of the telephony clients during a signaling session may be different from the values it uses for sending the media datagrams to the second telephony client. The general procedure described in the US 2002/0141384 Al is as follows. The first telephony client initiates a call and provides its IP address and UDP port to the second telephony client as part of the connection establishment sub process. The second telephony client assigns a UDP port from its side for communicating with the first telephony client. Then, the second telephony client detects, on the said UDP port it assigned, a different IP address and UDP port in the incoming media datagrams. If the second telephony client determines that the first client is located behind a NAT, the second client may adapt itself and use the modified IP address and or the UDP port values instead of the values agreed during the connection establishment sub process. There are several limitations to the described procedure. Firstly, only one of the telephony clients is assumed to be on a private IP network while the other client should have a public address. There is no solution for a scenario where both clients have private addresses. Secondly, it is assumed that when the second telephony client receives actual media datagrams from an unidentified source (i.e., if the actual source address is different than the "expected" source address) the traffic can still be referred to the first telephony client. However, receipt of such media datagrams can be due to other reasons, such as a wrongly- routed traffic or traffic from a non-authorized telephony client. In both cases the receiver would better discard the incoming traffic rather than assuming it is a change in the source address of the first client. Thirdly, it is possible that a public device (i.e., serving as the second client in the said model) may assign the same port number for multiple sessions. Such a public device will distinguish between the various sessions it carries out on the same port according to different remote (i.e., first client's) addresses. This is possible as long as the remote addresses are permanent. Once the second client detects new IP addresses and/or UDP ports it cannot determine the relationship between the 'old' and 'new' addresses. The second problem, regarding the call authorization by the edge devices, is not addressed at all. Summary of the invention
The above difficulties can be resolved by providing a method for establishing a communication via a public IP network between a Ist user U 1 belonging to a private IP network and a 2nd user U2, wherein the 1st user Ul is associated with a 1st signaling device SD l for performing a signaling session of the communication to request for establishing a multimedia session of the communication, the 1st user Ul is also associated with a 1st edge device EDI having a public IP address in the public IP network and participating in the requested multimedia session between the 1st user Ul and the 2nd user U2; the method being characterized in that, in order to coordinate between the signaling and the multimedia sessions for ensuring the communication between said Ul and said U2, it comprises performing the following operations at the ED 1 : - at the beginning of both the signaling session and the multimedia session initiated from one and the same initial Ul address for one and the same said communication, replacing the initial address of Ul , indicated as a source address for the requested multimedia session and called a replaced address, with one and the same specified public IP address of the edge device ED I, called a replacing address, thereby ensuring coordination between the signaling session and the multimedia session, - recording said replaced address together with said replacing address for respectively bridging the signaling session and the multimedia session, whenever established between the EDI and the U2, to said initial address of the Ul . The method is mostly advantageous and intended for a case where the Ul , belonging to the private IP network, has a private IP address. Preferably, in the frame of the present application the initial address of U l is a private IP address of U l÷UDP port at Ul specified at the signaling session. In addition to a private IP address, the user Ul may have a public IP address, a specific telephone number, etc. Likewise, in the frame of this patent application, the term "specified public address of the edge device ED I " should be understood as its public IP address + UDP port specified at the EDI for the signaling session. However, the method is also suitable for cases where the initial address of the user Ul belonging to the private network is declared as any publicly known address such as: a URL encoded string, an ICQ number, a globally known phone number, etc. It should also be noted that the step of recording preferably comprises storing a destination address of the requested multimedia session in addition to said replaced address, thereby recording initial address details of the multimedia session together with said replacing address. More specifically, the method includes: step (a) of the signaling session followed by step (b) of establishing the requested multimedia session; step (a) comprising applying from the 1st user U l to the 1st edge device ED I (instead of applying to the SD l), with an initiating message indicating the 1st user Ul initial address as a source address of the requested multimedia session (the initiating message comprises so-called "initial address details" which are a source address of the requested multimedia session and a destination address of the requested multimedia session), modifying, at the EDI, said source address of the requested multimedia session by said replacement of the initial address of the lbt user Ul in the initiating message (the replaced address) with the specified for the signaling session IP public address of the ED I (the replacing address), performing the record, in said EDI, at least of said replaced initial address of Ul in relation to the replacing specified public IP address of EDI (preferably, EDI records the replaced address within the initial address details of the multimedia session), applying from the EDI to the SDl for performing the signaling session; applying from the SDl to the U2 (directly or indirectly), for receiving an acknowledgement for the multimedia session (a response concerning exact address of the U2, confirmation of the communication), receiving the acknowledgement from the U2 at the SDl, forwarding the acknowledgement to the replacing address at the EDI and further to the replaced address at the Ul , thereby bridging the signaling session; step (b) comprising: applying from the 1st user Ul to the 1st edge device ED I with indication of initial source details of the requested multimedia session (comprising the 1 st user Ul address as a source address and a destination address of U2), if identical to the initial source details recorded at the signaling session (or at least if the source address is identical to the initial address of the Ul recorded at the signaling session as the replaced address), performing replacing thereof at the El with the replacing address (i.e., the source address of the multimedia session will become the recorded public IP address of the ED 1 specified for the signaling session, instead of the initial address of the Ul), enabling the multimedia session between the EDI and the U2,
(directly or indirectly), upon that, performing said bridging of the multimedia session to the initial address of the Ul (the replaced address) to enable multimedia traffic between the Ul and the U2, the method thereby allowing to present to the 2nd user U2 one and the same said specified public address of the edge device EDI as the source address of the requested multimedia session both at step (a) and at step (b) thus ensuring coordination between the signaling and the multimedia sessions and consequently, communication between the Ul and the U2.
The multimedia session is preferably an RTP (Real Time Protocol) session. It can also be a UDP (User Datagram Protocol) session, or the like. Since the private users are preferably interconnected with the public IP network via NAT (Network Address Translator), the IP private address of the 1st user Ul allocated at a signaling session should preferably be understood as its Private IP address + the number of a UDP port assigned by NAT to the 1st user during the signaling session. The IP public address of the ED I at a signaling session should preferably be understood as the public IP address of the ED I + the number of a UDP port assigned at the EDI for the signaling session. The signaling device SDl preferably comprises one of the following: a) SIP - Proxy Server of Session Initiating Protocol for Realtime Transport Protocol (RTP) or Transmission Control Protocol (TCP) , b) GK -Gate Keeper of the H.323 standard for telephony over IP.
Further, it should be appreciated that tthhee 22nndd uusseerr ((UU22)) mmaayy bbee ssyymmmmee'trically associated with a 2π signaling device SD2 for preparing and authorizing the call, the U2 may be operative to establish the call via a 2nd edge device
ED2 of the IP network, and the SD l may be in signaling communication with SD2, while EDI may be in the multimedia session communication with ED2. It should also be appreciated the 2nd user U2 may have a private IP address and be associated with its NAT (say, in the ED2) having a public IP address. Therefore, the proposed method may symmetrically be performed from the side of user U2 towards the side of user Ul . The method, to be performed on the site, requires providing the
ED I with an additional functionality to handle requests of Ul and behave as an intermediate device between the user Ul and the signaling device SD l . The additional functionality of EDI is in that it is capable of participating in a signaling session, namely capable of receiving an initiating message from Ul with a source address comprising the private IP address and a UDP port of the 1st user Ul, and capable of directing the initiating message to the SDl after replacing said source address with the self (EDI) public IP address and UDP port assigned at this signaling session, that will remain unchanged for the multimedia ( such as RTP) session too. To leave this address unchanged, the EDI should be operative to store its address with the particular number of UDP port assigned at the signaling session, in association with the private IP address + UDP port of the user Ul initiated the signaling session. It is therefore easy for the EDI to track the multimedia session establishment and use the stored addresses for the multimedia session, as well as to close the loops of the sessions (bridging the signaling and the multimedia sessions to the initial address of the user Ul). For performing the signaling session according to the proposed method, the lbt user U l should preliminarily be modified (configured) to be capable of using the EDI public IP address instead of the IP address of the SDl which has previously been utilized as a current destination address for the signaling session in the outer envelope of the initiating message. The described method therefore overcomes both the 1 st and the 2nd problems outlined above by enabling the edge device EDI to support the signaling initiation message, modify the required address details, and to coordinate between routes of the signaling and multimedia sessions. Since the edge device ED I keeps track to all information concerning both the signaling and the multimedia session of a call, it becomes capable of authorizing the call. Other technical means ensuring such functionality and behavior of Ul and SDl will be disclosed as the description proceeds. Based on the special functionality required from the edge device EDI according to the invention, there is another subject of the invention which is to be separately protected, and it is the enhanced edge device EDI . Thus, there is also proposed an edge device ED with a public IP address suitable for communication via an IP network between users U having private IP addresses and associated with one or more signaling devices SD, the edge device is capable of: - receiving and supporting a signaling initiating message from a user U associated with said edge device ED, said message carrying address details with a source address of a requested multimedia session being the private IP address and current UDP port of the user U; - modifying the address details of said message by replacing the source address of the requested multimedia session with the public IP address of the ED and current UDP port at the ED; - forwarding said message with the modified address details to the Signaling Device SD associated with said user U to perform a signaling session, and - preserving said modified address details for the multimedia session related to said signaling session, and using them in the multimedia session, thereby coordinating between routes of the signaling and multimedia sessions. It should be mentioned, however, that the enhanced edge device ED is also capable of serving users having public IP addresses (not belonging to a private IP network), in this case the ED operates in a conventional way. Depending on the user's address, its associated edge device ED is adapted to switch from the enhanced mode to the conventional mode and back whenever required. Yet another aspect of the invention is a system for establishing a multimedia session capable of performing the above-described method and/or comprising the above-described enhanced edge device. Still an additional aspect of the invention is a software product comprising software implementable instructions and/or data for carrying out the above-described method. The software product can be recorded on a carrier medium. The proposed software product is intended to be incorporated in the improved edge device ED.
Brief description of the drawings The above invention will be further described and illustrated with the aid of the following non-limiting drawings in which: Fig. 1 (prior art) illustrates a schematic block-diagram of establishing a call session upon a signaling session. Fig. 2 illustrates a schematic block-diagram of establishing a multimedia session according to the invention. Figs. 3a, 3b schematically illustrate initiating messages and an exemplary succession of address details utilized and transferred between network elements in the process of establishing a multimedia session in the system shown in Fig. 1. Fig. 4a, 4b schematically illustrate initiating messages and an exemplary succession of address details utilized and modified at the network elements in the process of establishing a multimedia session according to the invention (Fig. 2).
Detailed description of the preferred embodiments It should be explained that when applying at the signaling session (a) from the user Ul to the 1st edge device EDI , there is a message comprising initial address details, and the initial address details indicate a source address of the requested multimedia session to be an address of Ul (in a particular and most useful case, a private IP address of Ul and a UDP port at Ul specified at said signaling session; however, Ul may present itself using a URL string, an ICQ number, a known phone number, etc.), and a destination address of the requested multimedia session to be an address of U2 (any address known to Ul). This is the information comprised in the so-called inner envelope of the initiating message. The so-called outer envelope of the initiating message is responsible to show a source address and a destination address of the signaling message itself. It is important that the destination address in the outer envelope of the initiating message be the IP public address of EDI, and not of SDl (to allow modifying the initial address details of the inner envelope at EDI). For the case where the user Ul presents itself with its private IP address, the signaling session (step a) includes:
- applying from the user Ul to its public edge device EDI , instead of to its signaling device SD l, with initial address details, where the initial address details indicate a source address of the requested multimedia session to be any known address or the private IP address of Ul + a UDP port at Ul , selected by U l for the multimedia session, and a destination address of the requested multimedia session to be any known address of U2, - at the edge device EDI , modifying the initial address details, namely the source address of the requested multimedia session to be the public IP address of EDI and indicating a UDP port at ED I selected by EDI at the signaling session, keeping at least a related pair of the replaced and the replacing addresses at EDI (preferably, all the initial address details and the replacing address), and applying from the edge device EDI to the signaling device SDl associated with the user Ul to perform the signaling session with U2 utilizing the modified initial address details , - at the signaling device SDl , upon receiving the IP address of U2 and a UDP port at U2 selected by U2 for the multimedia session, responding to edge device ED I ,
- at the edge device EDI , recording the response from the signaling device SD l , re-modifying the destination address of the response message to be the address of Ul+UDP port and forwarding the response to Ul .
Upon successful completion of the signaling session, there is step (b) of establishing the requested multimedia session between Ul and U2 via ED I whenever initiated from the same UDP port at Ul (and preferably, to the same destination address as indicated in the signaling session). Step (b) includes indicating a source address of the multimedia traffic to be the public IP address of ED 1+ the UDP port at ED I specified at the preceding signaling session, thereby ensuring coordination between the signaling and the multimedia sessions as well as between Ul and U2. Fig. 2 illustrates a simplified diagram of a system 100 adapted to perform the proposed method, for a case when the user Ul presents itself using a private IP address. User U l (marked 1 10) and users Uk, Un belong to a private IP network 1 1 1. For communicating with user U2 (marked 1 12) the users Ul -Uk-Un have to establish multimedia sessions via a public IP network 1 14 by using the associated edge device ED I (marked 120). The edge device ED I is provided with NAT functionality (122) and to support the conventional and some additional functionality comprises an internal processing and memory block 123. The system 100 also comprises a signaling device SDl (marked 1 16) for performing signaling sessions preceding the multimedia traffic. In principle, user U2 may belong either to the public IP network 124, or to its private IP network (not shown). The system may also include an edge device ED2 (124) and a signaling device SD2 (1 18) associated with the user U2 (1 12), for performing symmetric operations from its side. In the particular example shown in Fig.2, ED2 also comprises NAT functionality enabling communication with U2 if the latter belongs to a private IP network. When a user Ul initiates a call to a user U2, it issues an initiating message which is handled in a different manner than it is done in the system of Fig. 1. The beginning of the signaling session, contrary to the procedure described with reference to Fig. 1, is not performed just between Ul and SDl using NAT functionality located anywhere there - between; it can be divided into the following two stages. The first stage takes place between the user Ul and EDI via its NAT functionality, and the second stage is performed between EDI and SDl . (Further signaling communication between SD l and the user U2 is not discussed in the frame of the present application . It may be performed via the signaling device SD2, but may be done differently, depending on the network configuration and the address of U2. ) The purpose of the proposed two-stage start of the signaling session is to modify address details in the inner envelope of the initiating message, namely to replace the private IP source address of the requested multimedia session (i.e., the private IP address of Ul) with a public IP source address (of the edge device ED 1 ) which will represent the user. This public IP address is then advised to the signaling device SDl and will further be used for completing the signaling session and for establishing the multimedia session. In order to keep trace of the replacement, EDI stores the addresses interchanged at the signaling session for terminating the signaling session, and for delivering the multimedia call, when finally established, to the real user Ul . To explain the order of operations in the system of Fig. 1 and in the proposed system of Fig. 2, and to emphasize the advantage obtained by using the proposed system, the reader's attention is now called to Figs. 3a, 3b and Figs. 4a, 4b. Fig. 3a schematically illustrates an initiating message 200, which is issued from the user Ul (10) to its associated signaling device SIPl to start the signaling session in order to establish a requested multimedia session with a user U2 in the system shown in Fig. 1. The message 200 is a digital packet composed from a so-called outer envelope 202 indicating the current source address (SA) 201 and the current destination address (DA) 203 of this particular signaling message, and a so-called inner envelope 204 indicating a source address (SA) 205 of the requested multimedia session and a known portion of a destination address (DA) 207 of the requested multimedia session. In the frame of the present invention, the term "address details" should be understood as the inner envelope of the initiating message, containing address details of the multimedia session. For example, the user Ul indicates its source address in the signaling session as private IP address of U1+ UDP port 7 allocated at the user for this session (box 201). The user Ul shows the same source address for the requested multimedia message (box 205). The destination address of the signaling message is address of SIPl proxy server (box 203). The destination address of the multimedia session is, say, URL of the user U2 (box 207). Message 210 which will arrive to SIP l upon being handled by NAT. NAT modifies the outer envelope 202 by changing the private address of the user Ul by a public IP address of the device in which NAT is allocated + a specific UDP port allocated by NAT at this device (in the present example, this device is ED I , let us write its address as PUB. E l ). Say, box 201 will now comprise address PUB.E 1+UDP 10. The outer envelope 202 (both 201 and 203 boxes) is removed by SIP 1 and may be changed while the signaling message moves to the SIP2, etc. However, U2 may be contacted directly from SD l . It should be noted that no change is made to the address details carried by the inner envelope 204 of the message, and the inner envelope 204 will further be sent in the signaling session up to the user U2, for getting its approval for establishing a multimedia session. The chain of forwarding the inner envelope in the signaling message from U l to SIP2, and returning the message from SIP2 to Ul is shown in
Fig. 3b. The signaling session is indicated by single arrows. As can be seen, SIP2 returns the signaling message upon introducing the exact destination address of user U2 into box 207. Let that be indicated as public IP address of U2+UDP port (Pub.U2 UDP 16). Upon receiving at Ul this approving signaling message with the exact address of U2, the multimedia session can be started. The multimedia session is indicated by double arrows. Ul issues to EDI a digital packet schematically marked 310, comprising a header where a source address of the multimedia session is indicated in portion 305, and the destination address - in portion 307. The rest of the packet (portion 3 12) comprises data (voice, fax, video, etc.) which is to be transmitted during the multimedia session. NAT located at the edge device EDI will naturally replace the private source address indicated in the header with the public address of EDI, and will allocate for this session another UDP port, say UDP22. But, the user U2 is prepared to receive data from the address Priv.Ul, UDP7 which was approved at the signaling session (see the "answer" above in the chain). Therefore, the data sent from Ul in the multimedia session might not be received by U2. Let us compare this procedure with the method proposed by the present invention. The method will be described with reference to Figs. 4a and 4b and with the aid of similar graphic means as in Figs. 3a and 3b. Fig. 4a shows how the initiating message is changed at the edge device EDI which, according to the invention, actively participates in forwarding the message to SD1( SIP or GK). One may notice, that the public IP address of EDI which is introduced by NAT in the outer envelope 202 (box 201) of the message instead of the private IP address of Ul , is also inserted in the inner envelope 204 (box 205) as the source address assigned for the future multimedia session. The modified message 209 demonstrates the changed address details. Simultaneously, the two interchanged addresses are stored in the internal memory block M (21 1) of the edge device EDI . The message is further transmitted to SDl (the lower message 210), and there only the outer envelope is suitably changed. Fig. 4b illustrates a chain of events in the signaling session and the beginning of the multimedia session, according to the invention. As can be seen, the edge device EDI modifies the inner envelope of the signaling message by replacing the private IP address of the user Ul with the public IP address of ED I specified for this signaling session (i.e., with UDP ports allocated for this session). Also, the exchanged addresses are linked and registered in the memory block M (211) of the edge device EDI . Similar to the known version (Fig. 3b), the second signaling device SD2 returns the answer where the exact address of U2 is inserted in the inner envelope of the message, at the place of box 207. This inner envelope, in the return message, reaches EDI and then - Ul . At the end of the signaling session, Ul receives the inner envelope which indicates its original Priv.Ul UDP 7, obtained from the memory 21 1. So, when the user Ul initiates the multimedia session via ED I, its memory M reacts to the "familiar" source address Priv.Ul UDP7 in the packet 320 and replaces it with the stored linked source address Pub. EDI UDP9, which is used for the multimedia session and thus does not cause any identification problems at the end of user U2, i.e. allows establishing the multimedia session. When the multimedia session is finally enabled between ED 1 and U2 (not shown), it is completed by bridging between the EDI and Ul using its initial source address Priv.Ul UDP7 stored in the memory 21 1.
While the present invention has been described with reference with a particular example, it should be appreciated that other situations might be actual in the network and be successfully handled using the proposed concept. For example, the user Ul from the private IP network may have and present itself with a known address such as a URL encoded string, ICQ number, globally known telephone number. Further, not only the user Ul, but also the user U2 may have a private IP address (URL code, ICQ number, known phone number) so both edge devices ED 1 and ED2 would operate in the enhanced mode. The proposed edge device may serve not only clients from a private IP network so, depending on the user's address, the edge device may change its mode between a conventional and the enhanced. The proposed concept is defined in the claims that follow.

Claims

1. A method for establishing a communication via a public IP network between a 1st user Ul belonging to a private IP network and a 2π user U2, wherein the 1st user Ul is associated with a lbt signaling device SDl for performing a signaling session of the communication to request for establishing a multimedia session of the communication, the 1st user U l is also associated with a V1 edge device ED I having a public IP address in the public IP network and participating in the requested multimedia session between the 1st user Ul and the 2nd user U2; the method being characterized in that, in order to coordinate between the signaling and the multimedia sessions for ensuring the communication between said Ul and said U2, it comprises performing the following operations at the EDI : - at the beginning of both the signaling session and the multimedia session initiated from one and the same initial Ul address for one and the same said communication, replacing the initial address of Ul, indicated as a source address for the requested multimedia session and called a replaced address, with one and the same specified public IP address of the edge device ED I , called a replacing address, thereby ensuring coordination between the signaling session and the multimedia session, - recording said replaced address together with said replacing address for respectively bridging the signaling session and the multimedia session, whenever established between the EDI and the U2, to said initial address of the Ul .
2. The method according to Claim 1, wherein the initial address of the 1st user Ul is the private IP address of Ul+UDP port at said Ul specified at the signaling session, and wherein said specified public IP address of the EDI is its public IP address + UDP port specified in said ED I at the signaling session.
3. The method according to Claim 1, wherein the initial address of the user Ul belonging to the private network is any publicly known address selected from a non-exhaustive list comprising: a URL encoded string, an ICQ number, a globally known phone number.
4. The method according to Claim any one of Claims 1 to 3, wherein the step of recording comprises storing a destination address of the requested multimedia session in addition to said replaced address, thereby recording initial address details of the multimedia session together with said replacing address.
5. The method according to any one of the preceding Claims, including step (a) of the signaling session followed by step (b) of establishing the requested multimedia session, wherein step (a) comprising applying from the 1st user Ul to the 1st edge device EDI with an initiating message indicating the initial address of the 1st user Ul as a source address of the requested multimedia session, modifying, at the ED I , said source address of the requested multimedia session in the initiating message by performing the replacement of said replaced address with said replacing address, performing the recording, in said EDI, of said replaced address in relation to the replacing address, applying from the EDI to the SDl for performing the signaling session; 7 applying from the SDl to the U2 for receiving an acknowledgement for the multimedia session, receiving the acknowledgement from the U2 at the SDl, forwarding the acknowledgement to the replacing address at the ED 1 and further to the replaced address at the Ul, thereby bridging the signaling session; step (b) comprising: applying from the 1st user Ul to the 1st edge device EDlwith indication of initial address details of the requested multimedia session comprising a source address of the multimedia session, if at least the source address of the multimedia session is identical to the initial address of the Ul recorded at the signaling session as said replaced address, performing replacement thereof, at EDI, with said replacing address, enabling the multimedia session between the EDI and the U2, upon that, performing said bridging of the multimedia session to the initial address of the Ul to enable multimedia traffic between the U l and the U2.
6. The method according to any one of the preceding claims, wherein the multimedia session is an RTP (Real Time Protocol) session.
7. A system for establishing a communication via a public IP network between a 1st user Ul belonging to a private IP network and a 2nd user U2, wherein the 1st user U l is associated with a 1st signaling device SD l for performing a signaling session of the communication to request for establishing a multimedia session of the communication, the 1st user Ul is also associated with a 1st edge device EDI having a public IP address in the public IP network and operative to participate in the requested multimedia session between the 1st user Ul and the 2nd user U2; the system being characterized in that, in order to coordinate between the signaling and the multimedia sessions for ensuring the communication between said Ul and said U2, it is capable of performing the method according to any one of the preceding claims.
8. The system according to Claim 7, wherein the 1st signaling device SDl comprises one of the following: - SIP - Proxy Server of Session Initiating Protocol for Real-time Transport Protocol (RTP) or Transmission Control Protocol (TCP) - GK -Gate Keeper for telephony over IP.
9. The system according to Claim 7 or 8, wherein the 2nd user U2 is symmetrically associated with a 2π signaling device SD2 for preparing the communication, and with a 2n edge device ED2 of the IP network for establishing the multimedia session, said U2 is operative to participate in establishing the communication via the 2nd edge device ED2, so that the SDl is in signaling communication with the SD2, while the EDI is in the multimedia communication with the ED2.
10. The system according to any one of Claims 7 to 9, wherein the 2nd user U2 has a private IP address and is associated with its ED2 having a public IP address.
1 1. The system according to any one of Claims 7 to 10, wherein the 1st user Ul is adapted to address an initiating message at the signaling session to the ED I public IP address.
12. The system according to Claim 10 orl 1, capable of performing said method from the side of the 2nd user U2 towards the side of the 1st user Ul .
13. An edge device ED with a public IP address suitable for establishing communication via an IP network between users U associated with one or more signaling devices SD, wherein at least one user Ul has a private IP address; the edge device ED including a processing and memory block and being capable of: - receiving and supporting a signaling initiating message from a user Ul associated with said edge device ED, said message carrying initial address details with a source address of a requested multimedia session being the private IP address and current UDP port of the user Ul ; - modifying the address details of said message by replacing the source address of the requested multimedia session with the public IP address of the ED + a current UDP port at the ED; - forwarding said message with the modified address details to the signaling device SD associated with said user Ul to perform a signaling session, and - preserving said modified address details for the requested multimedia session related to said signaling session, and - using the modified address details in the requested multimedia session by replacing the source address of said session, if equal to the preserved private IP address +a current UDP port of the user Ul , with the preserved public IP address of the ED + a current UDP port at the ED, thereby enabling coordination between routes of the signaling and multimedia sessions and ensuring bridging of the signaling and the multimedia section between the users U.
14. The edge device ED according to Claim 13, capable of distinguishing types of the users addresses; the ED being operative to serve a user having a public IP address by switching to a conventional mode, and also to switch the mode back whenever a user having a private IP address is recognized.
15. A system for establishing a communication via a public IP network between a 1st user Ul belonging to a private IP network and a 2nd user
U2, wherein the 1st user Ul is associated with a 1st signaling device SDl for performing a signaling session of the communication to request for establishing a multimedia session of the communication, the 1st user Ul is also associated with a 1st edge device EDI having a public IP address in the public IP network and operative to participate in the requested multimedia session between the 1st user U l and the 2nd user U2; the system being characterized in that, in order to coordinate between the signaling and the multimedia sessions for ensuring the communication between said Ul and said U2, it comprises said 1st edge device ED according to Claim 13.
16. A software product comprising software implementable instructions and/or data for carrying out a method according to any one of Claims 1 to 6.
17. A carrier medium comprising a software product according to claim 16.
18. An edge device ED incorporating the software product according to Claim 16.
PCT/IL2004/000586 2003-08-14 2004-07-01 Method, system and device for establishing calls over ip network WO2005018204A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL157399 2003-08-14
IL15739903A IL157399A0 (en) 2003-08-14 2003-08-14 Method of establishing calls over ip network

Publications (1)

Publication Number Publication Date
WO2005018204A1 true WO2005018204A1 (en) 2005-02-24

Family

ID=32652336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2004/000586 WO2005018204A1 (en) 2003-08-14 2004-07-01 Method, system and device for establishing calls over ip network

Country Status (2)

Country Link
IL (1) IL157399A0 (en)
WO (1) WO2005018204A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012106820A1 (en) * 2011-02-08 2012-08-16 Sierra Wireless, Inc. Method and system for forwarding data between network devices
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ROSENBERG J ET AL: "Getting SIP through Firewalls and NATS", IETF INTERNET DRAFT, 22 February 2000 (2000-02-22), XP002218607 *
ROSENBERG J ET AL: "Nat. and firewall scenarios and solutions for SIP", INTERNET ENGINEERING TASK FORCE INTERNET DRAFT, 24 June 2002 (2002-06-24), pages 1 - 54, XP002962592 *
SRISURESH P ET AL: "Middlebox communication architecture and framework", IETF RFC 3303, August 2002 (2002-08-01), XP002296447 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
WO2012106820A1 (en) * 2011-02-08 2012-08-16 Sierra Wireless, Inc. Method and system for forwarding data between network devices
US9037724B2 (en) 2011-02-08 2015-05-19 Sierra Wireless, Inc. Method and system for forwarding data between network devices

Also Published As

Publication number Publication date
IL157399A0 (en) 2004-02-19

Similar Documents

Publication Publication Date Title
US9860215B2 (en) Firewall interface configuration to enable bi-directional VoIP traversal communications
Johnston SIP: understanding the session initiation protocol
US7333492B2 (en) Firewall proxy system and method
Handley et al. SIP: session initiation protocol
US8244876B2 (en) Providing telephony services to terminals behind a firewall and/or a network address translator
US7257837B2 (en) Firewall penetration system and method for real time media communications
US7394804B2 (en) Message conversion server and IP telephone
Handley et al. RFC2543: SIP: session initiation protocol
US6993595B1 (en) Address translation change identification
US20020120760A1 (en) Communications protocol
US20080095158A1 (en) Router and sip server
WO2010088774A1 (en) Scalable nat traversal
US8233484B2 (en) Network address translation (NAT) traversal equipment for signal messages conforming to the SIP protocol by redundancy of address information
US20070073898A1 (en) Intelligent border element
US7411917B1 (en) Method and system for providing registration-based SIP NAT traversal
EP1662741B1 (en) A signaling agent realizing method based on media gateway control protocol
WO2008095430A1 (en) A method and a system for preventing a media agency from hacker attacking
CN101834836B (en) Communication method, device and system based on public IP network
WO2005018204A1 (en) Method, system and device for establishing calls over ip network
WO2006128488A1 (en) Session description protocol fragment message

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase