throbber
(12) United States Patent
`Nuutinen
`
`USOO6865681 B2
`US 6,865,681 B2
`Mar. 8, 2005
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) VOIPTERMINAL SECURITY MODULE, SIP
`STACK WITH SECURITY
`MANAGER, SYSTEM AND SECURITY
`METHODS
`
`(75) Inventor: Mikko Nuutinen, Espoo (FI)
`(73) Assignee: Nokia Mobile Phones Ltd., Espoo (FI)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 726 days.
`
`(21) Appl. No.: 09/752,142
`(22) Filed:
`Dec. 29, 2000
`(65)
`Prior Publication Data
`US 2002/0129236A1 Sep. 12, 2002
`(51) Int. Cl." ......................... G06F 11/30; G06F 12/14;
`H04L 9/00; H04L 9/32
`(52) U.S. Cl. ..................... 713/201; 713/151; 379/395.6
`(58) Field of Search ................................. 713/201, 151;
`379/395.6
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`2002/0102999 A1 * 8/2002 Maggenti et al. ........... 455/518
`OTHER PUBLICATIONS
`“Signaling fir Internet Telephony” by H. Schulzrinne et al
`Proceedings of the Int. Conf. on Network Protocols, Feb. 2,
`1998.*
`
`ITU-T H. 323, Series H: Audiovisual and Multimedia
`Systems, “Infrastructure of Audiovisual Services-System
`snand Terminal Equipment for Audiovisual Services”,
`“Packet-Based Multimedia Communications Systems”,
`Feb. 1998.
`IETF RFC 2543, “SIP: Session Initiation Protocol', Hand
`ley et al, Nov. 24, 2000.
`“Signaling for Internet Telephony' by H. Schulzrinne et al
`Proceedings of the Int. Conf. on Network Protocols, Oct.
`1998, pp. 1–27.
`Internet Engineering Task Force Internet Draft Document:
`draft-Sinnreich-aaa-interdomain-sip-qos-osp-00.txt Jul.
`2000; Expires Jan. 2001; “AAA Usage for IP Telephony
`with Oos' H. Sinnreich et al.
`* cited by examiner
`Primary Examiner-Gilberto Barron
`Assistant Examiner Joseph McArdle
`(57)
`ABSTRACT
`A secure voice over internet protocol (VoIP) terminal
`includes a modular Security manager for use in conjunction
`with a protocol Stack thereof, wherein the Security manager
`includes a plurality of interfaces to the stack. In an SIP
`embodiment, these may include a Security Stack interface
`(SSA) between an SIP manager of an SIP stack and the
`Security manager, a Security terminal interface (SST)
`between a telephony application and the Security manager, a
`security media interface (SSM) between the security man
`ager and a media controller, and a Security manager appli
`cation interface (SMA) between the Security manager and a
`security application (PGP) outside the stack.
`8 Claims, 15 Drawing Sheets
`
`Application Interface -...-a, -i-...--or-o-o-o-oner
`Application interface implementation
`
`isP Stack
`
`
`
`
`
`Sip Manager
`
`Media Cntrl
`
`- Network Interface
`
`1
`
`Comcast, Ex. 1135
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 1 of 15
`
`US 6,865,681 B2
`
`
`
`Endpoint 2
`
`FIG. 2
`
`2
`
`

`

`U.S. Patent
`
`
`
`
`
`US 6,865,681 B2
`
`9. "OIH
`
`XXO? Hd d1S OSW
`
`3
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 3 of 15
`
`US 6,865,681 B2
`
`
`
`
`
`
`
`LOENJIGJEMTCHIS OSW
`
`4
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 4 of 15
`
`US 6,865,681 B2
`
`
`
`(SI) K3SI
`
`S "OIH
`
`
`
`5
`
`

`

`US. Patent
`
`Mar. 8, 2005
`
`Sheet 5 0f 15
`
`US 6,865,681 132
`
`stow58$Em
`
`<Ema
`
`nutmmm—Hm
`
`<5m:
`
`
`
`3:33..:o:«~:o£:<585Inow
`
`
`
`
`
`:.Hogwoccofisax$xo€
`
`
`
`...Eonfitofi:<$xo€
`
`WEE/S
`
`52me
`
`bfio:55:<-333
`
`
`
`855552:1:3
`
`
`
`...”cocamtofiaq‘
`
`
`
`.Bfimom
`
`MOcom
`
`
`
`Samoan?xcosmosh
`
`«€62
`
`955::
`
`8on~.Zm< ismwéacmaRm:6.6%mczaimam
`.8805 ooflBEH
`cosmozmmxx
`
`
`
`socombmnmuoxoom
`
`SEEEm
`
`oofl.3£
`
`
`
`Surat:x8332
`
`\l.05
`
`w.95
`
`6
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 6 of 15
`
`US 6,865,681 B2
`
`Application Interface - i.e.--...--.
`Application interface implementation
`
`SIP stack TT
`
`
`
`Sip Manager
`
`Media Cntrl
`
`FIG. 9
`
`Network wrapper / Parser
`
`r Network Interface
`
`
`
`
`
`
`
`
`
`
`
`FIG, 12(b)
`
`FIG. 12
`
`FIG. 13(a
`
`FIG. 13(b)
`
`FIG. 13
`
`7
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 8, 2005
`Mar. 8, 2005
`
`Sheet 7 of 15
`Sheet 7 0f 15
`
`US 6,865,681 B2
`US 6,865,681 B2
`
`
`
`
`
`CmmvoomYBEREESEBisoom............
`
`€meEm
`
`u___
`
`
`
`Ema8%?£82259%.......................swag:9m"V_
`
`bflsoomnu_$52a,m.£58m.fl__
`Homwcag
`
`3.6$622"
`
`m
`
`
`
`
`
`
`
`
`
`
`
` :.:5.1.1.1...::.:....::.....:.::.::::-..::53}.x....:...........:.:2...:....:.1.:.x..MONWHQHCHCOMHmoM—QQ<
`
`
`
`
`
`03:85#8332...........................................................................................................................
`
` oomtflfixAgmvmomtogficosmomamdflmMumum2.58m
`
`
`
`x5352 m:Gamma
`"fl
`
`Swan\5&3?
`
`__._
`
`8
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 8, 2005
`M
`28,
`
`Sheet 8 of 15
`.bM00m
`
`US 6,865,681 B2
`US 6,865,681 132
`
`
`
`
`
`uwmmmoE63:00Em
`
`£58m@565;mowmmmoe35:8Em
`
`axofim
`
`
`
`
`5.2m $9252
`
`bisoom:23wczficwfi
`
`.aosfiEEQE“$882
`
`
`
`
`wing;EmmcmEbusuom50:23wczacwmm
`53:32
`uwmmmoE
`£23355?
`
`96m98368m
`
`ucumnewozwoom
`
`[ [ "OIH
`
`Z.05
`
`
`
`9
`
`

`

`US. Patent
`
`Mar. 8, 2005
`
`Sheet 9 0f 15
`
`US 6,865,681 132
`
`Emcfismc:5..
`
`mE>z_................592923:886.06
`
`
`
`nmumNtocfimcstSvdom
`
`
`
`gwas“6.32053a6:mm;835
`
`8:32mm;>==omamo>25omm$m“mm
`
`
`
`mwmoosw02mm<3<30mm092
`
`
`
`
`
`mamozcmcufiam:>>>>3Ucww
`
`
`
`02.5....00—<3295m83.8m_zEmumNtocSm
`
`€w~co£s$w....>z_
`
`\\\\\\\\\\\\\\\\€80526:20:2:
`
`mmwwmmznzwlfizofizmnmmm
`
`mammmmEEmHaaocmtmmm
`
`alabocmlme
`
`INT—053$ImEm
`
`m@3826..mvmymozcmzsmlmwm
`
`womwmmZEwlabomnlmmw
`BmozcwcsmlmEm
`
`mgumwooamuoEEImQC
`
`
`
`IIIIII’IIIIIIIIIIIpI'IIIIIIIIIIIllllllllul'l-Illlllll'llullllllllIIII'lI
`
`10
`
`10
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Mar. 8, 2005
`
`Sheet 10 0f 15
`
`US 6,865,681 132
`
`
`
`OZOZEoww
`
`m>=o<=momo:
`
`mommmmEEwIancmxmmw
`
`mommwm§m_mtmNto£:mxmwm
`2111‘]
`3:053;me
`“abocmme
`
`11
`
`Egg.0:
`
`mEthQoEQImo:
`
`
`
`wmmmmeEwiabomntmmm
`
`mmmwmeEwlmwmozcmézmlmmm
`Bmozcmcfimlme
`
`“abomnumEm
`
`umfimccoomgoEEImoc
`
`mammmeEmlaaomurmmw
`
`
`gamma—2a_w1$mo_EmcSwImwm
`Emu=cm£=mlmEm
`
`330%!me
`
`
`
`11
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 11 of 15
`
`US 6,865,681 B2
`
`
`
`
`
`BLIANI
`
`36esseWEIST??eo?ue?neTess
`
`
`
`BLIANITOEZI HOHLAVTLIVM
`
`
`
`
`
`- - - - , - - - ~~~~ ~~~~ -u6uW Á?unO3Sd€)d
`
`ddy
`
`
`
`SSHOOTIS SON|WOONI \/[\ \/[^ OES OSW
`
`
`
`
`
`12
`
`

`

`US. Patent
`
`Mar. 8, 2005
`
`Sheet 12 0f 15
`
`US 6,865,681 132
`
`mc_Eooc___monoc
`mommmw1m8.5salmmmiE..65
`AmammmeEmlmEocimlmmm:
`
`
`GZGZEom:m~=o£=mlmsm
`
`02;”;o3wwcofismwimem
`v.0oommNtofizmszm
`
`mammmmEEwHabocmmmm
`wmmmmeEmlfibocwlmwm
`mammmw2a_mlmw_._o£:mlmmm..
`
`
`
`Isabocmme
`
`6263.60-82
`
`
`
`mmmwwwfin.anabomotmmm
`
`330%mEm
`
`SmozcmfismImEm
`
`13
`
`
`
`mammwmégmdaaocwmmm
`
`mammmememNtocSmxmmwI
`
`:5on95
`
`250:0me
`
`35:56
`
`13
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 13 of 15
`
`US 6,865,681 B2
`
`Security Manager
`
`
`
`1(3)
`
`Receiving terminal
`Security Manager receives
`an invite. The security parameters
`are checked and new invite is
`requested.
`
`sip invite
`
`TASK Security Manager
`invite
`
`TASK SecurityManager
`Send WWW auth
`
`
`
`
`
`
`
`wait auth invite
`
`FIG. 14(a)
`
`14
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 8, 2005
`
`Sheet 14 0f 15
`
`US 6,865,681 B2
`US 6,865,681 132
`
`
`
`
`
`
`
`_mc_E§mc_>_momm..I
`
`ESE53mto;
`
`
`
`
`
`w:.>:_l£:m1:m>>REESm:_>_momm
`
`
`
`ummmcmémwrwmmm
`
`_
`
`_Lotwdom
`
`memcmibrzowwrxw/fi
`
`8:01
`
`.omficm;vcm828m:28:0c<ESEuchocSm
`
`
`
`353$9892Zzsomw
`
`5amcméésowmuxm5
`2353m:9:BEBmEEma
`
`3.53%mg....8282223E3m:ucm2282.2:
`
`85553cm329262
`
`$32:
`
`.oSSEcamcmxomco2m
`
`.xoSw052E32.95
`
`15
`
`
`
`
`
`mm:.39923.58m
`
`.959
`
`.wmmcm2>«::omwlxm<._.
`
`
`
`23:33
`
`wt>E85553::835nmNtofizm
`
`
`
`15
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 8, 2005
`
`Sheet 15 of 15
`
`US 6,865,681 B2
`
`
`
`Security Manager
`
`Sending terminal
`The terminal has sent an invite and
`received 401 Unauthorized
`response. It makes new authorized
`invite messages and sends it.
`
`got unauthorized
`
`TASK Security Manager
`authorization reqd
`
`send auth invite
`
`16
`
`

`

`US 6,865,681 B2
`
`1
`VOIPTERMINAL SECURITY MODULE, SIP
`STACK WITH SECURITY
`MANAGER, SYSTEM AND SECURITY
`METHODS
`
`TECHNICAL FIELD
`The present invention relates to internet telephony (VoIP)
`and, more particularly, to providing for a Secure VoIP
`terminal.
`
`DISCUSSION OF RELATED ART
`In the last few years, the intemet has become a feasible
`infrastructure for Supporting various multimedia Services.
`These include interactive Services Such as IP telephony, also
`known as Voice over Internet Protocol (VoIP). VoIP can be
`defined as the transport of telephony calls over an IP
`network. In contrast to traditional telephony, where an
`end-to-end circuit is set up between two endpoints, IP
`telephony uses the intemet protocol to transmit voice pack
`ets over an IP network. The addition of voice to the data
`network also generates new possibilities, Such as new inte
`grated Services that are not used over a traditional circuit
`Switched network, i.e. data and Video communication. Over
`public networks, like the intemet, the benefits of IP tele
`phony are currently limited by the marginal Support for
`Quality of Service (QoS), inadequate traffic management
`and the lack of Security. Thus there are still Some technical
`issues to be improved to ensure comparable usability with
`Public Switched Telephone Network (PSTN).
`VoIP security is one of the major technical issues that has
`to be defined before VoIP could be used in public networks
`like the internet. Internet telephony users do not want that
`calls could be listened in or Sensitive information, like phone
`numbers, passwords or credit card numbers, to be revealed
`to an unintended party. Thus not only the audio Stream needs
`protection, but the control Signalling requires to be Secured
`as well.
`There are currently two competing Standardized protocols
`for VoIP operation, ITU-T's H.323 and IETF’s Session
`Initiation Protocol. These two protocols describe Signalling
`and the control of multimedia conferences over packet based
`networks by different ways. H.323 is a part of a larger series
`of communication Standards called the H.32X Series and
`consist of many Subprotocols. SIP is a leSS complex text
`based client server protocol. At the moment SIP seems to be
`the major VoIP protocol for future services. However H.323
`has the advantage of better interoperability with PSTN and
`due longer development K has also many corporations
`backing it. There are many discussions and controversial
`predictions as to which approach will Survive. Although
`both standards may co-exist, only SIP is considered here.
`Although SIP is Specified quite well, it lacks a good
`specification of security. See Sections 13-15 of IETF RFC
`2543 “SIP: Session Initiation Protocol” by Handley et al.
`The present invention concerns a Suitable Solution for a
`Secure VoIP terminal.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`DISCLOSURE OF INVENTION
`According to a first aspect of the present invention, a
`modular component for use in conjunction with a protocol
`Stack of a voice over internet protocol terminal comprises a
`Security manager, a security Stack interface (SSA) for inter
`facing between said Security manager and a protocol man
`65
`ager of Said protocol Stack, a Security terminal interface
`(SST) for interfacing between said Security manager and an
`
`60
`
`2
`application layer, a security media interface (SSM) for
`interfacing between said Security manager and a media
`controller, and a Security manager application interface
`(SMA) for interfacing between said Security manager and a
`Security application (PGP) outside Said Stack.
`Further according to the first aspect of the invention, the
`Security manager comprises a State machine having an idle
`State and a wait for authorization State.
`Further Still according to the first aspect of the invention,
`a transition to Said wait authorization State from Said idle
`State occurs in response to an unauthorized invitation
`received and Signaled from and to an initiating remote
`device wherein a transition from Said wait authorization
`State to Said idle State occurs in response to an authorized
`invitation.
`According to a Second aspect of the invention, a Session
`initiation protocol (SIP) signaling Stack for a voice over
`intemet protocol (VoIP) terminal device, said Stack having
`an application interface and a media interface to a telephony
`application and having a protocol interface to a network
`layer, Said Stack comprises an SIP manager having Said
`application interface and a media controller having Said
`media interface to Said telephony application and Said pro
`tocol interface between said network layer and both said SIP
`manager and Said media controller, and a Security manager
`having a plurality of interfaces to Said SIP manager, Said
`telephony application, and to Said network layer.
`Further according to the Second aspect of the invention,
`the plurality of interfaces includes a Security Stack interface
`(SSA) between said SIP manager and said Security manager,
`a security terminal interface (SST) between said telephony
`application and Said Security manager, a Security media
`interface (SSM) between said Security manager and Said
`media controller, a Security manager application interface
`(SMA) between said Security manager and a Security appli
`cation (PGP) outside said stack.
`According to a third aspect of the invention, a method
`comprises the Steps of Sending an invite Signal from a
`Session initiation protocol (SIP) stack of a sending terminal
`to a remote user agent (UA), receiving an unauthorized
`signal (401. Unauthorized) at said SIP stack from said
`remote UA indicating authorization is required, providing an
`indication signal got 401 unauthorized) from Said SIP
`Stack to a Security manager module of Said Sending terminal
`indicative of receipt of Said unauthorized Signal, providing
`an authenticate Signal (send www authenticate) with
`required information and authorization header field from
`Said Security manager module to Said SIP Stack, calling
`encryption and authorization function requests from Said SIP
`Stack to Said Security manager, encrypting and authorizing
`Said required Information, and Sending an authorized invite
`signal from said SIP stack to said remote UA.
`According to a fourth aspect of the invention, a method
`comprises the Steps of receiving an invite Signal from a
`remote user agent (UA) at a Session initiation protocol (SIP)
`Stack of a receiving terminal, providing a Signal indicative of
`receipt of Said invite Signal from Said SIP Stack to a Security
`manager module of Said receiving terminal for checking
`Security parameters of Said invite Signal, providing an
`authenticate signal (send www authenticate) from Said
`Security manager to Said SIP Stack, Sending an unauthorized
`signal (401 unauthorized) from said SIP stack to said
`remote UA, receiving an authorized invite Signal from Said
`remote UA to Said SIP Stack, providing a request to authen
`ticate Said authorized invite signal to Said Security manager
`module, checking parameters of Said authorized invite Signal
`
`17
`
`

`

`3
`by Said Security manager module, and providing an authen
`tication Signal from Said Security manager module to Said
`SIP stack indicative of said step of checking.
`According to a fifth aspect of the invention, a telecom
`munications System comprises a Sending terminal for Send
`ing an invite signal from a session initiation protocol (SIP)
`Stack of a Sending terminal, and a receiving terminal respon
`Sive to Said invite Signal for providing a signal indicative of
`receipt of Said invite Signal from Said SIP Stack to a Security
`manager module of Said receiving terminal for checking
`Security parameters of Said invite Signal, wherein Said Secu
`rity manager provides an authenticate Signal to Said SIP
`Stack and Said SIP then sends an unauthorize Signal to Said
`Sending terminal in the presence of an unauthorized invite
`Signal from Said Sending terminal, wherein Said SIP Stack of
`Said Sending terminal is responsive to Said unauthorized
`Signal from Said receiving terminal indicating authorization
`is required, and wherein Said Sending terminal provides an
`indication Signal from Said SIP Stack of Said Sending termi
`nal to a Security manager module of Said Sending terminal
`indicative of receipt of Said unauthorize Signal, wherein Said
`Security manager provides an authenticate Signal with
`required information and authorization header field to Said
`SIP stack of said sending terminal, wherein said SIP stack of
`Said Sending terminal Sends an authorized invite signal to
`Said receiving terminal, wherein Said receiving terminal
`receives Said authorized invite signal from Said Sending
`terminal at Said SIP Stack of Said receiving terminal, wherein
`Said SIP Stack provides a request to authenticate Said autho
`rized invite Signal to Said Security manager module of Said
`receiving terminal, wherein Said Security manager checks
`parameters of Said authorized invite signal and provides an
`authentication signal to Said SIP Stack of Said receiving
`terminal indicative of Said Step of checking.
`35
`The Solution provides the required Security capabilities. A
`modular design is provided and only minor changes to the
`lower layer of the Stack are needed to connect the Security
`manager with the Stack. The interaction between the Stack
`and the Security module occurs by means of five signals and
`four interface functions. The major benefit of this kind of
`architecture is that the call control Stack is not changed and
`only valid calls proceed to the Stack, while all authentication
`and Security functions are done at the lower level.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 shows the SIP protocol stack, according to the
`prior art.
`FIG. 2 shows SIP basic operation, according to the prior
`art.
`FIG.3 shows SIP proxy server operation, according to the
`prior art.
`FIG. 4 shows SIP redirect server operation, according to
`the prior art
`FIG. 5 shows an encryption process, according to the
`prior art.
`FIG. 6 shows data origin authentication with one-way
`hash function and a Secret key, according to the prior art.
`FIG. 7 shows SIP authentication, according to the prior
`art.
`FIG. 8 shows the current architecture of the target system,
`according to the prior art.
`FIG. 9 shows the current architecture of the SIP protocol
`Stack, according to the prior art.
`FIG. 10 shows secure SIP protocol stack architecture,
`according to the present invention.
`
`4
`FIG. 11 shows a signaling change in the protocol Stack,
`according to the present invention.
`FIG. 12 shows how FIGS. 12(a) and 12(b) fit together and
`show MSC for call initiation, according to the present
`invention.
`FIGS. 12(a) and 12(b) together show MSC for call
`initiation, according to the present invention.
`FIG. 13 shows how FIGS. 13(a) and 13(b) fit together and
`ShowS MSC for receiving a call, according to the present
`invention.
`FIGS. 14(a), 14(b) and 14(c) altogether show a state
`diagram for the Security manager, according to the present
`invention.
`
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`
`I. Session Initiation Protocol (SIP)
`The Session Initiation Protocol (SIP) is a text-based
`client-server protocol, similar to HTTP and SMTP. SIP is an
`application-layer Signalling protocol that handles the asso
`ciation between intemet end Systems by creating, modifying
`and terminating multimedia Sessions. Members participating
`in a multimedia Session can communicate via multicast or
`via a mesh of unicast relations, or a combination of these.
`SIP is developed by IETF’s MMUSIC working group and
`the SIP working group is chartered to continue the devel
`opment.
`A. SIP Architecture
`(i) Terminals
`Terminals or user agents are client endpoints able to
`receive and place calls. The endpoints generate and receive
`bi-directional real-time information Streams. A terminal can
`either be a Software run in a personal computer or a
`dedicated hardware appliance. The terminal must Support
`Voice communications, whereas Video and data are optional.
`The SIP user agent has two basic functions.
`1. The User Agent Server (UAS) is a server application
`that contacts the user when a SIP request is received and that
`returns a response on behalf of the user.
`2. The User Agent Client (UAC) is a client application
`that initiates a SIP request.
`(ii) SIP Network Elements
`There are different types of Servers: proxy, redirect,
`location, registrar and UASS. Servers are mainly used to
`route and redirect calls. A SIP server can operate in either
`proxy or redirect mode, depending on how the next-hop
`Server is connected and if the user is not located on the
`contacted Server. A redirect Server informs the caller to
`contact another Server directly. A proxy server contacts one
`or more next-hop Servers itself and passes the call requests
`further.
`(iii) Proxy Server
`A proxy is an intermediate entity that acts as both a Server
`when receiving requests and a client for the purpose of
`making requests on behalf of the other clients. The requests
`are passed on, possibly after translation, to other Servers. A
`proxy can be a very Simple StateleSS packet forwarder or it
`can be a complex Statecapable proxy. A StateleSS proxy
`forgets all the information it has received once an outgoing
`request has been generated. StateleSS proxy is always based
`on UDP, whereas a State-capable proxy is usually based on
`TCP. Statecapable proxy acts as a virtual user agent and
`implements the Server State machine when receiving
`requests and the client State machine for generating outgoing
`requests. A proxy should implement loop detection by
`
`US 6,865,681 B2
`
`1O
`
`15
`
`25
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`18
`
`

`

`US 6,865,681 B2
`
`6
`BYE: terminates a connection between two users
`OPTIONS: signals information about capabilities
`All requests, except REGISTER, must be supported by the
`SIP proxy, redirect and user agent Servers as well as by
`clients. Support for the REGISTER request is optional.
`(ii) Response Messages
`A Server responses to the requests with a response mes
`sage. The syntax of the response code is similar to HTTP.
`The three digit codes are hierarchically organized, with the
`first digit representing the result class and the other two
`digits providing additional information. The first digit con
`trols the protocol operation and the other two gives useful
`but not critical information. SIP entities do not need to
`understand the meaning of all registered response codes, but
`they must be able to recognize the class of the response and
`treat any unrecognized response as being the X00 response
`code of the class. The following response codes are used in
`SIP.
`1XX: Informational-request received, call in progress,
`continuing to process the request (These responses are
`always followed by other responses indicating the final
`result.)
`2XX: Success-the action was Successfully received,
`understood, and accepted
`3XX: Redirection-further action needs to be taken in
`order to complete the request
`4XX: Client Error-the request contains bad Syntax or
`cannot be fulfilled at this server
`5XX: Server Error-the server failed to fulfil an apparently
`valid request
`6XX: Global Failure-the request cannot be fulfilled at any
`SCWC
`Responses are always Sent back to the entity that Sent the
`message to the Server, not to the originator of the request.
`The message is repeated regularly until the destination
`acknowledges with an ACK message. A positive response to
`a Setup message also contains a Session description, describ
`ing the Supported media types. Call identifiers are used to
`indicate messages belonging to the same conference.
`(iii) Header Fields
`Requests and responses include header fields to Specify
`parameterS Such as caller, called party, type and length of the
`message body. Currently there are 37 different header fields
`defined, but a SIP entity does not need to understand all of
`these header fields, although it is desirable. The header
`fields, which are not understood, can just be ignored.
`Header fields can be divided into four different groups as
`shown in Table 1 below:
`
`S
`always checking whether its own address is on the list of a
`Via header field in order to prevent loops.
`(ii)(b) Redirect Server
`A redirect server only informs the caller about the next
`hop, and the caller sends a new request to the Suggested
`receiver directly. After receiving a SIP request, a redirect
`Server maps the address into Zero or more new addresses and
`returns these addresses to the client. Now the client can
`contact the next server directly. Unlike a proxy server, a
`redirect server does not initiate its own SIP request and
`unlike an user agent it does not accept calls.
`(ii)(c) Location Server
`A SIP System may also include a location Server, that
`keeps a database of the locations of the users. A location
`Server is used by a redirect or proxy Server to obtain
`information about the called party's possible location. The
`location server is typically co-located with a SIP proxy but
`it may also be co-located with another SIP server.
`(ii)(d) Registrar
`A registrar is a server that accepts REGISTER requests,
`by which users can register their location with SIP servers.
`A registrar is typically co-located with a proxy or redirect
`Server and may offer location Services.
`B. Protocols Involved in SIP
`Basically SIP is rather independent of the environment
`and can be used in conjunction with Several transfer proto
`cols. It does not require any specific transfer protocol but it
`is recommended that servers should support both UDP and
`TCP. The Session Description Protocol (SDP) is used by SIP
`for description of the capabilities and media types Supported
`by the terminals. Text based SDP messages, which are sent
`in SIP message bodies, lists the features that must be
`Supported by the terminals. The real time data is transferred
`by RTP in conjunction with RTCP. SIP protocol stack in an
`intemet environment is described in FIG. 1.
`C. SIP Addressing
`For addressing SIP uses an email-like identifier (SIP
`URL) in the form sip: user(a)host, where the user part is a
`user name or phone number and the host part is either
`domain or a numeric network address. In many cases the
`email-like name may be the same as user's email address
`and can be easily mapped. The address may also be used for
`group of individuals So that it specifies the first available
`person from the group or the whole group.
`D. SIP Message Structure
`SIP is a client-server protocol, message is either a request
`from a client to a Server, or a response from a server to a
`client. Requests and responses are in textual form and
`include different header fields to describe the details of the
`communication. SIP reuses many of the header fields used in
`HTTP (Hypertext Transfer Protocol), such as entity and
`authentication headers. Message begins with a Start-line
`followed by one or more header fields. After the header
`fields the message may contain body which is separated
`from the header fields by an empty line.
`(i) Request Messages
`As in HTTP, the client requests invoke methods on the
`Server. The request message consist of a Start-line Specifying
`the method and the protocol, a number of header fields
`Specifying the call properties and Service information, and
`an optional message body. The following methods are used
`in SIP
`REGISTER: conveys location information to a SIP server
`INVITE: invites user to a session or a conference
`ACK: is used in reliable message exchanges for acknowl
`edgement
`CANCEL: cancels a pending request
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`General
`header
`fields
`
`Accept
`
`Accept-
`Encoding
`Accept-
`Language
`Call-ID
`Contact
`Cseq
`Date
`
`65
`
`Encryption
`Expires
`
`TABLE 1.
`
`Entity
`header
`fields
`
`Content-
`Encoding
`Content-
`Length
`Content-
`Type
`
`Response
`header
`fields
`
`Request
`header
`fields
`
`Allow
`
`Authorization
`
`Contact
`
`Proxy-
`Authenticate
`Retry-After Hide
`
`Max-Forwards
`Server
`Unsupported Organization
`Warning
`Priority
`WWW-
`Proxy
`Authenticate Authorization
`Proxy-Require
`Route
`
`19
`
`

`

`US 6,865,681 B2
`
`8
`message contains SDP Session description, which consists of
`the one letter codes at the end of the message. The Session
`description tells that tenninal wants to use RTP in port 5004
`with formats 0, 3 or 5.
`
`TABLE 1-continued
`
`Entity
`header
`fields
`
`Response
`header
`fields
`
`Request
`header
`fields
`
`Require
`Response-Key
`Subject
`User-Agent
`
`General
`header
`fields
`
`From
`Record-Route
`Timestamp
`To
`Via
`
`The first group consists of general header fields that are
`used in both requests and responses. Entity header fields
`contain information about the message body or, if no body
`is present, the resources identified by the request. Request
`header fields again act as request modifiers and allow the
`client to pass additional information to the server. The fourth
`group is response header fields, which allow the Server to
`pass additional information about the response that cannot
`be placed in the response Status-line.
`E. Session Description Protocol (SDP): RFC 2327
`When the users are invited to multimedia conferences,
`SIP states how communication between the caller and the
`called party, addressing and user location resolving is done.
`Furthermore, there is a need to describe the context of a
`multimedia Session. The Sessions are typically described
`using the SDP, although other protocols can also be used.
`The Session description is contained in the message body.
`The SDP conveys information about media streams in
`multimedia Sessions giving the recipients of the Session
`description enough information to participate in the Session.
`An SDP session description consists of a number of text
`lines containing type-value pairs. The type is always exactly
`one case-significant character and the value is a structured
`text String whose format depends on type. Some lines in
`each description are required and Some are optional but all
`must appear in exactly the order given in Table 2 below.
`Optional items are marked with a *.
`
`TABLE 2
`
`Session description
`
`Type Description
`
`v Protocol version
`
`o Owner/creator and session
`identifier
`Session name
`Sesson information
`
`s
`i
`
`u URI of description
`
`Email address
`e
`p* Phone number
`
`c
`
`Connection information - not
`required if included in all media
`b Bandwidth information
`z* Time Zone adjustments
`
`k* Encryption key
`a
`Zero or more session
`
`attribute lines
`
`Time Description
`
`t Time the session is
`activated
`r* Zero or more repeat times
`Media description
`
`m Media name and transport
`address
`i Media title
`c Connection information -
`optional if included at
`session level
`b Bandwidth information
`
`k* Encryption key
`a Zero or more media
`attributes
`
`F. Example SIP Message
`An example INVITE-request message from user
`bob(Ofirm.com to pete(a)company.com is represented here.
`The first line is the request line beginning with method token
`followed by request-URI and protocol version. After the first
`row other headers follow. Content-type informs that the
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`INVITE sip:peted company.com SIP/2.0
`Via: SIP/2.0/UDP user.firm.com
`From: Bob <sip:bobGfirm.com.>
`To: Pete <sip:peteCocompany.com.>
`Call-ID: 1234567890G user.firm.com
`Cseq: 1 INVITE
`Subject: Document
`Content-Type: application/sdp
`Content-Length: 109
`w-O
`O=Bob S3655765 2353687637 INIP4 123.56.43.23
`S=call
`c=INIP4 user.firm.com
`m=audio 5004 RTP/AVP O 35
`
`The request is responded with a response message, which is
`very similar to the request message. The first row contains
`response code (200=Success). The response SDP tells that
`formats 0 and 3 are accepted.
`
`SIP/2.O 200 OK
`Via: SIP/2.0/UDP sip.company.com
`Via: SIP/2.0/UDP user.firm.com
`From: Pete <sip:peteocompany.com.>
`To: <sip:bobGfirm.com.>
`Call-ID: 1234567890G user.firm.com
`Cseq: 1 INVITE
`Content-Type: application/sdp
`Content-Length: 103
`w-O
`O-Peter 4858949 4858949 INIP4 198.514.43
`S=OK
`c=IN IP4 user.company.com
`m=audio 5004 RTP/AVP O 3
`
`G. SIP Operation
`(i) Basic Operation
`The basic operation (FIG. 2) of SIP is very simple. First
`endpoint 1 invites endpoint 2 with INVITE message con
`taining Session description. The called party, endpoint 2
`agrees to communicate and responds 200 OK with accepted
`call parameters. After receiving acceptation, endpoint 1
`Sends ACK message to confirm that it has received the
`response.
`Normally transfer includes also other network compo
`nents and SIP operates either in proxy- or in redirect Server
`mode. Both of these operation modes are described below.
`In the proxy server operation mode (FIG. 3) an INVITE
`request is generated and Sent to the proxy server. The Server
`accepts the invitation and contacts its location Server for a
`more precise location. The location Server returns the loca
`tion of the endpoint 2. The proxy sends an INVITE request
`to the address given by the location Server where the pr

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket