`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-1-
`
`UNINTERRUPTED TRANSMISSION OF INTERNET PROTOCOL
`
`TRANSMISSIONS DURING ENDPOINT CHANGES
`
`BACKGROUND OF THE INVENTION
`
`1.
`
`Field of Invention
`
`This invention relates to internet protocol
`
`(IP)
`
`transmissions and, more
`
`particularly, to uninterrupted transmission of IP transmissions containing real
`
`time transport protocol (RTP) data during endpoint changes.
`
`10
`
`2.
`
`Description of Related Art
`
`Internet Protocol (IP) transmission systems are known to use media relays to
`
`relay IP transmissions from one endpoint to another.
`
`In a telephone system,
`
`15
`
`the media relay relays IP transmissions betweena caller and a callee. An IP
`
`session is established by a call controller, which interacts with the media
`
`relay, the caller and the callee to convey to each of these entities the IP
`
`addresses and ports to which they should send IP transmissions and from
`
`which they should expect IP transmissions. The media relay is configured to
`
`20
`
`accept packets conveyed byIP transmissions from specified caller and callee
`
`IP addresses and ports.
`
`In some systems, such as mobile telephone
`
`systems, a mobile telephone may be in communication with a first base
`
`station while in a certain geographical area and there may be a handoff of the
`
`call to another base station when the mobile telephone is movedto a different
`
`25
`
`geographical location. Communications between the base stations and the
`
`mobile
`
`telephones are conducted on a Global System from Mobile
`
`Communication (GSM) network or other cellular network, for example, and the
`
`base stations convert messages to and from the GSM network and the IP
`
`network and thus,
`
`the base stations establish the caller and callee IP
`
`30
`
`addresses and ports. Each base station will have a unique IP address and
`
`UDP port number that it associates or assigns to the mobile telephone with
`
`which it has established communication in the conventional manner over the
`
`cellular network. Thus, a conventional media relay will reject IP streams from
`
`PETITIONER APPLE INC.
`
`EX. 1003-1
`
`PETITIONER APPLE INC. EX. 1003-1
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-2-
`
`the new basestation after handoff of the call because such streams are seen
`
`as being transmitted by an unauthorized source. This generally prevents
`
`voice over IP telephone calls from being made through systems that employ
`
`media relays without further call handling.
`
`The Session Initiation Protocol (SIP) RFC 3261 provided by the Internet
`
`Engineering Task Force (IETF) specifies a mechanism for an endpoint to
`
`notify another endpointif its IP address changes. This mechanism employs a
`
`signaling message that conveys an identification of new media properties for
`
`10
`
`the endpoint whose IP address has changed. The use of SIP messagesfor
`
`this purpose, however, adds extra overhead and delays to the call as
`
`signaling messages must be routed through the call controller and the call
`
`controller must communicate with the media relay and endpoints to re-
`
`configure the media relay to accept IP transmissions from the endpoint having
`
`15
`
`the new IP address and to cause IP transmission to be relayed thereto each
`
`time a handoff occurs.
`
`SUMMARYOF THE INVENTION
`
`In accordance with one aspect of the invention, there is provided a method for
`
`20
`
`facilitating uninterrupted transmission of internet protocol (IP) transmissions
`
`containing real time transport protocol (RTP) data during endpoint changes.
`
`The method involves maintaining records, each record associating session
`
`information, caller information and callee information for IP communication
`
`sessions.
`
`The session information includes caller and callee RTP port
`
`25
`
`identifiers identifying caller and callee RTP ports respectively of a media relay.
`
`The caller information includes a caller IP address identifier and a caller port
`
`identifier to which IP transmissions received at the callee RTP port are
`
`transmitted from the media relay, and a caller synchronization source (SSRC)
`
`identifier. The callee information includes a callee IP address identifier and a
`
`30
`
`callee port identifier to which IP transmissions received at the caller RTP port
`
`are transmitted from the media relay, and a callee SSRCidentifier. When an
`
`IP transmission is received at the caller RTP port or the callee RTP port,
`
`the
`
`record having a caller RTP port
`
`identifier or a callee RTP port
`
`identifier
`
`PETITIONER APPLE INC.
`
`EX. 1003-2
`
`PETITIONER APPLE INC. EX. 1003-2
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-3-
`
`matching a destination port identifier in the IP transmission is located. When
`
`the record is located and when the destination port
`
`identifier in the IP
`
`transmission matchesthe caller RTP port identifier of the record, a source IP
`
`addressidentifier and source port identifier from the IP transmission are set
`
`as the caller IP address identifier and caller port identifier respectively of the
`
`record when the caller IP address identifier and caller port identifier do not
`
`match the source IP address identifier and source port identifier respectively
`
`and a received SSRC identifier in the IP transmission matches the caller
`
`SSRCidentifier. When the destination port identifier in the IP transmission
`
`10
`
`matches the callee RTP port identifier of the record, the source IP address
`
`identifier and source port identifier from the IP transmission are set as the
`
`callee IP address identifier and callee port identifier respectively of the record
`
`when the callee IP addressidentifier and callee port identifier do not match
`
`the source IP address identifier and source port identifier respectively and the
`
`15
`
`received SSRC identifier in the IP transmission matches the callee SSRC
`
`identifier.
`
`The method may involve determining whether the IP transmission is a pre-
`
`determined transmission and, if so, determining whether the IP transmission
`
`20
`
`is from the caller or callee. When the pre-determined IP transmission is
`
`received from the caller, the method involves storing the received SSRC
`
`identifier as the caller SSRC identifier in the record and when the pre-
`
`determined IP transmission is received from the callee, the method involves
`
`storing the received SSRC identifier as the callee SSRC identifier in the
`
`25
`
`record.
`
`The method mayinvolve determining whether the IP transmission is a pre-
`
`determined transmission and, if so, where the caller and callee are configured
`
`to use the same SSRCidentifier, storing the received SSRC identifier as the
`
`30
`
`caller SSRC identifier in the record and as the callee SSRCidentifier in the
`
`record.
`
`PETITIONER APPLE INC.
`
`EX. 1003-3
`
`PETITIONER APPLE INC. EX. 1003-3
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-4-
`
`The method may involve causing the media relay to forward the IP
`
`transmission to the callee at the callee IP address and callee UDP port
`
`identified by the callee IP address identifier and callee UDP port identifier of
`
`the record and identifying the source of the IP transmission forwarded to the
`
`callee with the callee RTP port
`
`identifier when the IP transmission was
`
`received at the caller RTP port, and causing the media relay to forward the IP
`
`transmission to the caller at
`
`the caller IP address and caller UDP port
`
`identified by the caller information of the record and identifying the source of
`
`the IP transmission forwarded to the callerwith the caller RTP port identifier
`
`10
`
`whenthe IP transmission wasreceived at the callee RTP port.
`
`In accordance with another aspect of the invention, there is provided a media
`
`relay apparatus for facilitating uninterrupted transmission of internet protocol
`
`(IP) transmissions containing real time transport protocol (RTP) data during
`
`15
`
`endpoint changes.
`
`The apparatus
`
`includes a processor,
`
`input/output
`
`interfaces in communication with the processor to provide for physical
`
`connection to an IP network, program memory and storage memory. The
`
`program memory is encoded with codesfor directing the processor to:
`
`20
`
`provide a logical input/output interface interacting with the input/output
`
`interfaces to define caller and callee RTP ports;
`
`maintain call records in the storage memory, each call record having
`
`fields associating session information, caller information and callee
`
`25
`
`information for
`
`IP communication sessions,
`
`the fields associating
`
`session information including caller and callee RTP port identifier fields
`
`identifying the caller and callee RTP ports respectively; and the caller
`
`information including a caller IP addressidentifier field and a caller port
`
`identifier field to which IP transmissions received at the callee RTP port
`
`30
`
`are to be transmitted, and a caller synchronization source (SSRC)
`
`identifier field, and the callee information including a callee IP address
`
`identifier field and a callee port identifier field to which IP transmissions
`
`PETITIONER APPLE INC.
`
`EX. 1003-4
`
`PETITIONER APPLE INC. EX. 1003-4
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-5-
`
`received at the caller RTP port are to be transmitted, and a callee
`
`SSRCidentifier field.
`
`The codes further direct the processor to identify one of the records
`
`having the caller RTP port identifier field contents or the callee RTP
`
`port identifier field contents matching a destination port identifier in the
`
`IP transmission when an IP transmission is received at the caller RTP
`
`port or the callee RTP port.
`
`10
`
`When such a record is respectively located and when the destination
`
`port identifier in the IP transmission matches the contents of the caller
`
`RTP port identifier field of the recard, the codes direct the processor to
`
`store a source IP addressidentifier and source port identifier from the
`
`IP transmission in the caller IP addressidentifier field and caller port
`
`15
`
`identifier field respectively when the contents of the caller IP address
`
`identifier field and caller port identifier field do not match the source IP
`
`addressidentifier and source port identifier respectively and a received
`
`SSRCidentifier in the IP transmission matches the contents of the
`
`caller SSRC identifier field.
`
`20
`
`Whenthe destination port identifier in the IP transmission matches the
`
`contents of the callee RTP port identifier field of the record, the codes
`
`direct the processor to store the source IP address identifier and
`
`source port identifier from the IP transmission in the callee IP address
`
`25
`
`identifier field and callee port
`
`identifier field respectively when the
`
`contents of the callee IP address identifier field and the callee port
`
`identifier field do not match the source IP addressidentifier and source
`
`port identifier respectively and the received SSRCidentifier in the IP
`
`transmission matches the contents of the callee SSRC identifier field.
`
`30
`
`The program memory may be further encoded with codesfor directing the
`
`processor to determine whether the IP transmission is a pre-determined
`
`transmission and,
`
`if so, determine whether the IP transmission is from the
`
`PETITIONER APPLE INC.
`
`EX. 1003-5
`
`PETITIONER APPLE INC. EX. 1003-5
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-6-
`
`caller or callee and when the pre-determined IP transmission is received from
`
`the caller, store the received SSRCidentifier in the caller SSRC identifier field
`
`in the record and when the pre-determined IP transmission is received from
`
`the callee, store the received SSRCin the callee SSRC identifier field in the
`
`record.
`
`The program memory may be further encoded with codes for directing the
`
`processor to determine whether the IP transmission is a pre-determined
`
`transmission and, if so, where the caller and callee are configured to use the
`
`10
`
`same SSRC, store the received SSRC in the caller SSRCidentifier field in the
`
`record andin the callee SSRCidentifier field in the record.
`
`The program memory may be further encoded with cades for directing the
`
`processor to:
`
`15
`
`when the IP transmission is received at the caller RTP port, forward the
`
`IP transmission to the callee identified by the contents of the callee IP
`
`addressidentifier field and the callee port identifier field and identify the
`
`source of the IP transmission according to the contents of the callee
`
`20
`
`RTP port identifier field; and
`
`when the IP transmission is received at the callee RTP port, forward
`
`the IP transmission to the caller identified by the contents of the caller
`
`IP addressidentifier field and the caller port identifier field and identify
`
`25
`
`the sourceof the IP transmission according to the contents of the caller
`
`RTP port identifier field.
`
`In accordance with another aspect of the invention, there is provided a media
`
`relay apparatus for facilitating uninterrupted transmission of internet protocol
`
`30
`
`(IP) transmissions containing real time transport protocol (RTP) data during
`
`endpoint changes. The media relay apparatus includes a processor, physical
`
`connection provisions
`
`for providing physical connections between the
`
`processor and an IP network. provisions
`
`interacting with the physical
`
`PETITIONER APPLE INC.
`
`EX. 1003-6
`
`PETITIONER APPLE INC. EX. 1003-6
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-7-
`
`connection provisions and the processor for providing a logical input/output
`
`interface defining caller and callee RTP ports. The apparatus further includes
`
`provisions for maintaining call records in memory, each of the call records
`
`having provisions for associating session information, caller information and
`
`callee information for IP communication sessions. These provisions include
`
`provisions for storing caller and callee RTP port
`
`identifiers identifying the
`
`caller and callee RTP ports respectively, provisions for storing a caller IP
`
`address
`
`identifier and a caller port
`
`identifier to which IP transmissions
`
`received at the callee RTP port are to be transmitted, provisions for storing a
`
`10
`
`caller synchronization source (SSRC)identifier, provisions for storing a callee
`
`IP address identifier and a callee port identifier to which IP transmissions
`
`received at the caller RTP port are to be transmitted, and provisions for
`
`storing a callee SSRCidentifier. The apparatus further includes provisions for
`
`identifying one of the records having a caller RTP port identifier or a callee
`
`15
`
`RTPport identifier matching a destination port identifier in the IP transmission
`
`whenan IP transmission is received at the caller RTP port or the callee RTP
`
`port. The apparatus further includes provisions for determining whether the
`
`destination port identifier in the IP transmission matches the caller RTP port
`
`identifier of the record. The apparatus further includes provisions for setting
`
`20
`
`the caller IP address identifier and caller port
`
`identifier as the source IP
`
`address
`
`identifier and source port
`
`identifier
`
`respectively from the IP
`
`transmission when thecaller IP addressidentifier and caller port identifier do
`
`not match the source IP address identifier and source port
`
`identifier
`
`respectively and a received SSRC identifier in the IP transmission matches
`
`25
`
`the contents of the caller SSRC identifier and the destination port identifier in
`
`the IP transmission matchesthe caller RTP port identifier of the record. The
`
`apparatus further includes provisions for determining whether the destination
`
`port identifier in the IP transmission matches the callee RTP port identifier of
`
`the record and provisionsfor setting the callee IP addressidentifier and callee
`
`30
`
`port identifier as the source IP address identifier and source port identifier
`
`respectively from the IP transmission when the callee IP addressidentifier
`
`and the callee port identifier do not match the source IP addressidentifier and
`
`source port identifier respectively and the received SSRCidentifier in the IP
`
`PETITIONER APPLE INC.
`
`EX. 1003-7
`
`PETITIONER APPLE INC. EX. 1003-7
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-8-
`
`transmission matches the contents of the callee SSRC identifier and the
`
`destination port identifier in the IP transmission matchesthe callee RTP port
`
`identifier of the record.
`
`The apparatus may further include provisions for determining whether the IP
`
`transmission is a pre-determined transmission and, if so, determining whether
`
`the IP transmission is from the caller or callee and provisions for storing the
`
`received SSRC identifier as the caller SSRC identifier when the pre-
`
`determined IP transmission is received from the caller and provisions for
`
`10
`
`storing the received SSRC identifier as the callee SSRC identifier when the
`
`pre-determined IP transmission is received from the callee.
`
`The apparatus may further include provisions for determining whether the IP
`
`transmission is a pre-determined transmission and provisions for storing the
`
`15
`
`received SSRCidentifier as the caller SSRCidentifier and as the callee SSRC
`
`identifier where the caller and callee are configured to use the same SSRC.
`
`The apparatus may further
`
`include provisions
`
`for
`
`forwarding the IP
`
`transmission to the callee identified by the callee IP addressidentifier and the
`
`20
`
`callee port identifier and for identifying the source of the IP transmission with
`
`the callee RTPport identifier wnen the received IP transmission was received
`
`at the caller RTP port and provisions for forwarding the IP transmission to the
`
`caller identified by the caller IP addressidentifier and caller port identifier and
`
`for identifying the source of the IP transmission with the caller RTP port
`
`25
`
`identifier when the received IP transmission was received at the callee RTP
`
`port.
`
`In accordance with another aspect of the invention,
`
`there is provided a
`
`computer readable medium encoded with codesfor directing a processorof a
`
`30
`
`media relay to facilitate uninterrupted transmission of internet protocol (IP)
`
`transmissions containing real
`
`time transport protocol
`
`(RTP) data during
`
`endpoint changes, the codes comprising codesfor directing the processor to:
`
`PETITIONER APPLE INC.
`
`EX. 1003-8
`
`PETITIONER APPLE INC. EX. 1003-8
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-9-
`
`maintain records, each record associating session information, caller
`
`information and callee information for IP communication sessions;
`
`the session information including caller and callee RTP port
`
`identifiers identifying caller and callee RTP ports respectively of
`
`the media relay;
`
`the caller information including a caller IP address identifier and
`
`a caller port identifier to which IP transmissions received at the
`
`callee RTP port are transmitted from the media relay, a caller
`
`synchronization source (SSRC) identifier; and
`
`the callee information including a callee IP addressidentifier and
`
`a callee port identifier to which IP transmissions received at the
`
`caller RTP port are transmitted from the media relay, a callee
`
`SSRC identifier; and
`
`when an IP transmission is received at the caller RTP port or the callee
`
`RTPport:
`
`identify one of the records having the caller RTP port identifier or
`
`the callee RTP port
`
`identifier matching a destination port
`
`identifier in the IP transmission;
`
`when the record is identified and when the destination
`
`port identifier in the IP transmission matches the caller
`
`RTPport identifier of the record,
`
`set a source IP address identifier and source port
`
`identifier from the IP transmission as the caller IP address
`
`identifier and caller port
`
`identifier
`
`respectively of the
`
`record when:
`
`PETITIONER APPLE INC.
`
`EX. 1003-9
`
`PETITIONER APPLE INC. EX. 1003-9
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-10-
`
`the caller
`
`IP address identifier and caller port
`
`identifier do not match the source IP address
`
`identifier and source port
`
`identifier respectively;
`
`and
`
`a received SSRC identifier in the IP transmission
`
`matchesthe caller SSRC identifier; and
`
`when the record is identified and when the destination port
`
`identifier in the IP transmission matches the callee RTP port
`
`identifier of the recard,
`
`set the source IP address identifier and source port
`
`identifier
`
`from the IP transmission as the callee IP
`
`addressidentifier and callee port identifier respectively of
`
`the record when:
`
`the callee IP address identifier and callee port
`
`identifier do not match the source IP address
`
`identifier and source port
`
`identifier respectively;
`
`and
`
`the received SSRC identifier in the IP transmission
`
`matches the callee SSRC identifier.
`
`10
`
`15
`
`20
`
`25
`
`The computer readable medium mayfurther include codes for directing the
`
`processor to determine whether the IP transmission is a pre-determined
`
`transmission and,
`
`if so, determine whether the IP transmission is from the
`
`30
`
`caller or callee and whenthe pre-determined IP transmission is received from
`
`the caller, store the received SSRCidentifier as the caller SSRC identifier in
`
`the record and whenthe pre-determined IP transmission is received from the
`
`PETITIONER APPLE INC.
`
`EX. 1003-10
`
`PETITIONER APPLE INC. EX. 1003-10
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-11-
`
`callee, store the received SSRC identifier as the callee SSRC identifier in the
`
`record.
`
`The computer readable medium mayfurther include codes for directing the
`
`processor to determine whether the IP transmission is a pre-determined
`
`transmission and, if so, where the caller and callee are configured to use the
`
`same SSRC, store the received SSRC identifier as the caller SSRC identifier
`
`in the record and as the callee SSRCidentifier in the record.
`
`10
`
`The computer readable medium may further include codesfor directing the
`
`processor to:
`
`if the IP transmission was received at the caller RTP port, cause the
`
`media relay to forward the IP transmission to the callee at the callee IP
`
`15
`
`address and callee UDP port
`
`identified by the callee IP address
`
`identifier and callee UDP port identifier and identify the source of the IP
`
`transmission forwarded to the callee with the callee RTP port identifier;
`
`and
`
`20
`
`if the IP transmission was received at the callee RTP port, cause the
`
`media relay to forward the IP transmission to the caller at the caller IP
`
`address and caller UDP port
`
`identified by the caller
`
`IP address
`
`identifier and caller UDP port identifier and identify the source of the IP
`
`transmission forwardedto the caller with the caller RTP port identifier.
`
`25
`
`30
`
`Other aspects and features of the present invention will become apparent to
`
`those ordinarily skilled in the art upon review of the following description of
`
`specific embodiments of the invention in conjunction with the accompanying
`
`figures.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`In drawings whichillustrate embodiments of the invention,
`
`PETITIONER APPLE INC.
`
`EX. 1003-11
`
`PETITIONER APPLE INC. EX. 1003-11
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-12-
`
`Figure 1
`
`is a schematic diagram illustrating a system for
`
`facilitating
`
`uninterrupted transmission of internet protocol (IP) transmissions
`
`containing real time transport protocol (RTP) data during endpoint
`
`changes, accordingto a first embodimentof the invention.
`
`Figure 2
`
`is a tabular representation of a call record used by the system
`
`shownin Figure 1.
`
`Figure 3
`
`is a flow chart of an authentication routine executed by a
`
`processor of a media relay shownin the system shownin Figure
`
`1.
`
`10
`
`Figure 4
`
`is a schematic representation of an internet protocol
`
`(IP)
`
`transmission accordingto the prior art.
`
`Figure 5
`
`is a tabular representation of the call record shownin Figure 2 as
`
`updated after receipt of an IP transmission at a caller port of the
`
`15
`
`Figure 6
`
`is a flow chart of a continuity routine executed by the processor of
`
`media relay shownin Figure 1.
`
`the media relay shownin Figure 1.
`
`Figure 7
`
`is a tabular representation of the call record as updated after
`
`execution of the continuity routine shown in Figure 6 when a pre-
`
`determined packetis received in the IP transmission.
`
`20
`
`Figure 8
`
`is a tabular representation of the call record shown in Figure 7
`
`further updated by the continuity routine after an IP transmission
`
`received subsequent to the pre-determined packetis received.
`
`Figure 9
`
`is a flow chart of a forwarding routine executed by the processorof
`
`the media relay shown in Figure 1
`
`to relay the received IP
`
`25
`
`transmission to a caller or callee with a source identification
`
`provided by the call record as updated by the continuity routine
`
`shownin Figure 6.
`
`DETAILED DESCRIPTION
`
`30
`
`Referring to Figure 1, a system for handling voice over internet protocol (IP)
`
`transmissions and more generally, IP transmissions, is shown generally at 20.
`
`The system 20 includes a routing controller/call controller (RC/CC) system 22
`
`and first, second and third base stations 24, 26 and 50. The basestations 24,
`
`PETITIONER APPLE INC.
`
`EX. 1003-12
`
`PETITIONER APPLE INC. EX. 1003-12
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-13-
`
`26 and 50 are operable to communicate with the RC/CC 22 via a networkor,
`
`as shown in this embodiment, separate networks 28 and 30, which in this
`
`embodiment depict the internet. The first and second basestations 24 and 26
`
`in this embodiment are operable to communicate with caller and callee mobile
`
`telephones 32 and 34 respectively using a cellular wireless network in a
`
`conventional manner as is known in the art. The first and second base
`
`stations 24 and 26 thus act as “endpoints” for IP transmissions between the
`
`caller and callee.
`
`10
`
`Generally, to establish a call from the caller mobile telephone 32 to the callee
`
`mobile telephone 34, the caller mobile telephone transmits to the first base
`
`station 24 a session initiation protocol (SIP) message shown generally at 38.
`
`The SIP message 38is transmitted from the caller mobile telephone 32 to the
`
`base station 24 and the first base station 24 formats the SIP message 38 into
`
`15
`
`an IP transmission and transmits the IP transmission through the internet 28
`
`to the RC/CC 22.
`
`In this embodiment,
`
`the first base station 24 is
`
`preconfigured with a network IP address 192.168.0.20 and_universal
`
`datagram protocol (UDP) port 12345.
`
`20
`
`In response to receipt of the SIP message 38, the RC/CC 22 communicates
`
`with a media relay 40 and sends the caller IP address identifier and caller
`
`UDP port identifier contained in the SIP message to the media relay 40 to
`
`identify the IP address and UDP port to which the media relay 40 should send
`
`communications to the first base station 24 for receipt by the caller mobile
`
`25
`
`telephone 32.
`
`The media relay 40 has input/output interfaces 41 in communication with the
`
`processor to provide for physical connection to an IP network such as the
`
`internet. The media relay 40 is programmed to provide a logical input/output
`
`30
`
`interface that interacts with the input/output interfaces 41 to define caller and
`
`callee real time transport protocol (RTP) ports in the conventional manner.
`
`PETITIONER APPLE INC.
`
`EX. 1003-13
`
`PETITIONER APPLE INC. EX. 1003-13
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-14-
`
`In response, the media relay 40 is configured to send a media relay IP
`
`addressidentifier and media relay RTP port identifier that it associates with
`
`the callee identified by the contents of the callee ID field in the SIP message
`
`38. The media relay 40 sends this information to the RC/CC 22 to essentially
`
`inform the RC/CC 22 of the media relay IP addressidentifier and callee RTP
`
`port identifier that it should convey to the callee mobile telephone 34 so that
`
`the callee telephone can cause IP transmissions to be sent from the second
`
`base station 26 to the media relay 40 which can then subsequently forward
`
`those transmissions to the caller mobile telephone 32.
`
`10
`
`In response to receipt of the media relay IP addressidentifier and the callee
`
`RTPport identifier designated by the media relay 40, the RC/CC 22 transmits
`
`a SIP invite message 42 through the internet 30 to the callee mobile
`
`telephone 34 through the second base station 26.
`
`In this embodiment, the
`
`15
`
`second base station 26 has an IP address (192.168.3.10) and a UDP port
`
`number(33123). Thus, the RC/CC 22 directs this SIP invite message 42 to
`
`the IP address and UDP port associated with the callee mobile telephone 34
`
`by the second base station 26.
`
`The second base station 26 then
`
`communicates this SIP invite message 42 to the callee mobile telephone 34
`
`20
`
`over the wireless network and the callee mobile telephone 34 returns a SIP
`
`okay message 44 to the second basestation 26.
`
`The SIP okay message format is shown at 44 and includesa caller identifier
`
`(ID), a callee ID, a call ID, a callee IP address identifier and a callee UDP port
`
`25
`
`identifier. The callee IP address identifier is the IP address of the second
`
`base station 26 and the callee UDP port identifier is the UDP port identifier
`
`associated with the callee mobile telephone 34 by the secandbasestation 26.
`
`The second base station 26 sends the SIP okay message 44 in an IP
`
`transmission through the internet 30 to the RC/CC 22 which communicates
`
`30
`
`the call
`
`ID, callee iP address identifier, and callee UDP port
`
`identifier
`
`contained in the SIP okay message 44 to the media relay 40 to identify to the
`
`media relay the IP address and UDP port associated with the callee.
`
`In
`
`response,
`
`the media relay 40 sends a reply message to the RC/CC 22
`
`PETITIONER APPLE INC.
`
`EX. 1003-14
`
`PETITIONER APPLE INC. EX. 1003-14
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-15-
`
`containing a media relay IP addressidentifier and caller RTP port identifier of
`a caller RTP port assigned by the media relay, to which the first base station
`
`24 should direct IP transmissions to the media relay for receipt by the callee
`
`mobile telephone 34.
`
`In this embodiment, this message includes a media
`
`relay IP address identifier of 192.168.1.10 and a caller RTP port identifier
`
`(R22125).
`
`The RC/CC 22 transmits a SIP okay message 46, having a format as shown,
`
`through the internet 28 to the first base station 24 and the first base station
`
`10
`
`communicates the media relay IP address identifier and the caller RTP port
`
`identifier associated with the caller to the caller mobile telephone 32.
`
`The above basic communications for establishing a call between the caller
`
`and callee mobile telephones 32 and 34 are described in further detail
`
`in
`
`15
`
`Applicant's related International Application No. PCT/CA2007/002150. Of
`
`interest in connection with the present invention is the following way in which
`
`the media relay 40 is configured to permit the caller mobile telephone 32 to
`
`move to another geographical location in which a handoff occurs between the
`
`first base station 24 and the third base station 50 having an IP address
`
`20
`
`identifier and UDP port identifier different from that of the first base station 24.
`
`When a handoff from the first base station 24 to the third base station 50
`
`occurs, the caller mobile telephone 32 ceases communication with the first
`
`base station 24 and establishes communication with the third base station 50.
`
`25
`
`However, since the third base station 50 has a different IP address identifier
`
`and UDP port identifier than the first base station 24, the media relay 40 will
`
`receive IP transmissions from the third base station 50 identifying the source
`
`of the transmissions with a different
`
`IP address identifier and UDP port
`
`identifier than those associated with the first base station. Normally, the
`
`30
`
`media relay 40 would reject such communications as being from an unknown
`
`source, however, due to the configuration of the media relay described below,
`
`IP transmissions from the third base station 50 are not rejected and the call
`
`can continue uninterrupted. To facilitate this, the media relay 40 is configured
`
`PETITIONER APPLE INC.
`
`EX. 1003-15
`
`PETITIONER APPLE INC. EX. 1003-15
`
`
`
`WO 2011/032256
`
`PCT/CA2009/001317
`
`CA 02812174 2013-03-15
`
`-16-
`
`with additional functionality beyond that which merely relays communications
`
`between the caller and callee.
`
`It is known that in general, a media relay 40 includes a processor 52, memory
`
`54 operable to be written to and read by the processor 52, and program
`
`memory 56 containing codes readable by the processor 52 that define
`
`program instructions for directing the processor 52 to carry out conventional
`
`media relay functions for transferring IP transmissions between the caller and
`
`the callee.
`
`In order to provide the functionality of the present invention, in this
`
`10
`
`embodiment, the media relay 40 is further configured with additional codes
`
`shown generally at 58 that direct
`
`the