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
M13 RLC