SIP通过网关的呼叫PSTN

Posted on 2005-07-08 15:48  freshventure  阅读(1232)  评论(0编辑  收藏  举报
SIP to PSTN Call Through Gateway

In the example shown in , the calling SIP phone places a telephone call to the PSTN through a PSTN gateway. The SIP phone collects the dialed digits and puts them into a SIP URI used in the Request-URI and the To header. The caller may have dialed either the globalized phone number 1-202-555-1313 or they may have just dialed a local number 555-1313, and the SIP phone added the assumed country code and area code to produce the globalized URI. The SIP phone has been preconfigured with the IP address of the PSTN gateway, so it is able to send the INVITE directly to gw.carrier.com. The gateway initiates the call into the PSTN by selecting an SS7 ISUP trunk to the next telephone switch in the PSTN. The dialed digits from the INVITE are mapped into the ISUP IAM. The ISUP Address Complete Message (ACM) is sent back by the PSTN to indicate that the trunk has been seized. Progress tones are generated in the one-way audio path established in the PSTN. In this example, ring tone is generated by the far end telephone switch. The gateway maps the ACM to the 183 Session Progress response containing SDP indicating the RTP port that the gateway will bridge the audio from the PSTN. Upon reception of the 183, the caller's UAC begins receiving the RTP packets sent from the gateway and presents the audio to the caller so they know that the call is progressing in the PSTN.

 
Figure 10.3: SIP to PSTN call through gateway.

The call completes when the called party answers the telephone, which causes the telephone switch to send an Answer Message (ANM) to the gateway. The gateway then cuts the PSTN audio connection through in both directions and sends a 200 OK response to the caller. Because the RTP media path is already established, the gateway echoes the SDP in the 183 but causes no changes to the RTP connection. The UAC sends an ACK to complete the SIP signaling exchange. Because there is no equivalent message in ISUP, the gateway absorbs the ACK.

The call terminates when the caller sends the BYE to the gateway. The gateway maps the BYE to the ISUP Release message or REL. The gateway sends the 200 OK to the BYE and receives a RLC from the PSTN. These two messages have no dependency on each other; if, for some reason, either the SIP or PSTN network does not respond properly, one does not want resources held in the other network as a result.

M1   INVITE sip:+12025551313@gw.carrier.com;user=phone SIP/2.0
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK4545
     Max-Forwards: 70
     From: <sip:filo.farnsworth@television.tv>;tag=12
     To: <sip:+12025551313@gw.carrier.com;user=phone>
     Call-ID: 49235243082018498@television.tv
     CSeq: 1 INVITE
     Supported: 100rel
     Contact: sip:filo.farnsworth@studio.television.tv
     Content-Type: application/sdp
     Content-Length: 154

     v=0
     o=FF 2890844535 2890844535 IN IP4 8.19.19.06
     s=-
     t=0 0
     c=IN IP4 8.19.19.06
     m=audio 5004 RTP/AVP 0 8                          Two alternative codecs,
     a=rtpmap:0 PCMU/8000                                        PCM μ-Law or
     a=rtpmap:8 PCMA/8000                                             PCM A-Law


M2   IAM
     CdPN=202-555-1313, NPI=E.164,
     NOA=National                                      Gateway maps telephone
                                                      into called party number


M3   ACM


M4   SIP/2.0 183 Session Progress
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK4545
     From: <sip:filo.farnsworth@television.tv>;tag=12
     To: <+12025551313@gw.carrier.com;user=phone>;tag=37     Tag and brackets
     Call-ID: 49235243082018498@television.tv
     CSeq: 1 INVITE
     RSeq: 08071
     Contact: <sip:50.60.70.80>
     Content-Type: application/sdp
     Content-Length: 139

     v=0
     o=Port1723 2890844535 2890844535 IN IP4 50.60.70.80
     s=-
     t=0 0
     c=IN IP4 50.60.70.80
     m=audio 62002 RTP/AVP 0                     Gateway selects μ-Law codec
     a=rtpmap:0 PCMU/8000


M5   PRACK sip:50.60.70.80 SIP/2.0
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK454
     Max-Forwards: 70
     From: <sip:filo.farnsworth@television.tv>;tag=37
     To: <sip:+12025551313@gw.carrier.com;user=phone>;tag=12
     Call-ID: 49235243082018498@television.tv
     CSeq: 2 PRACK
     Contact: sip:filo.farnsworth@studio.television.tv
     RAck: 08071 1 INVITE
     Content-Length: 0


M6   SIP/2.0 200 OK
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK454
     From: <sip:filo.farnsworth@television.tv>;tag=37
     To: <sip:+12025551313@gw.carrier.com;user=phone>;tag=12
     Call-ID: 49235243082018498@television.tv
     CSeq: 2 PRACK


M7   ANM


M8   SIP/2.0 200 OK
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK4545
     From: <sip:filo.farnsworth@television.tv>;tag=12
     To: <+12025551313@gw.carrier.com;user=phone>;tag=37
     Call-ID: 49235243082018498@television.tv
     CSeq: 1 INVITE
     Contact: <sip:50.60.70.80>
     Content-Type: application/sdp
     Content-Length: 139

     v=0
     o=Port1723 2890844535 2890844535 IN IP4 50.60.70.80
     s=-
     t=0 0
     c=IN IP4 50.60.70.80
     m=audio 62002 RTP/AVP 0
     a=rtpmap:0 PCMU/8000


M9   ACK sip:50.60.70.80 SIP/2.0
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bKfgrw
     Max-Forwards: 70
     From: <sip:filo.farnsworth@television.tv>;tag=12
     To: <+12025551313@gw.carrier.com;user=phone>;tag=37
     Call-ID: 49235243082018498@television.tv
     CSeq: 1 ACK



M10  BYE sip:50.60.70.80 SIP/2.0
     Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK321
     Max-Forwards: 70
     From: <sip:filo.farnsworth@television.tv>;tag=12
     To: <+12025551313@gw.carrier.com;user=phone>;tag=37
     Call-ID: 49235243082018498@television.tv
     CSeq: 3 BYE
CSeq incremented M11 REL CauseCode=16 Normal Clearing M12 SIP/2.0 200 OK Via: SIP/2.0/UDP 8.19.19.06:5060;branch=z9hG4bK321 From: <sip:filo.farnsworth@television.tv>;tag=12 To: <+12025551313@gw.carrier.com;user=phone>;tag=37 Call-ID: 49235243082018498@television.tv CSeq: 3 BYE