Sip PSTN Call Flow
Sip PSTN Call Flow
Sip PSTN Call Flow
This call flow diagram was generated with EventStudio Sequence Diagram Designer 2.5
(http://www.EventHelix.com/EventStudio).
LEG: Brief
This article is based on the call flow presented in
http://www.iptel.org/info/players/ietf/callflows/draft-ietf-sipping-pstn-call-flows-02.txt and
is reproduced here as per the copyright statement at the end of this document.
In this scenario, Alice (sip:[email protected]) is a SIP phone or other SIP-enabled device.
Bob is reachable via the PSTN at global telephone number +19725552222. Alice places a call to
Bob through a Proxy Server (Proxy 1) and a Network Gateway (NGW 1).
Bob answers the call then Alice disconnects the call. Signaling between NGW 1 and Bob's
telephone switch is ANSI ISUP.
1:SIP INVITE Alice dials the globalized E.164 number
Calling = +13145551111, +19725552222 to reach Bob. Note that A might
Called = +19725552222, have only dialed the last 7 digits, or some other
Contact = [email protected], dialing plan. It is assumed that the SIP User
Media = audio 49172 RTP/AVP, Agent Client converts the digits into a global
Attribute = rtpmap:0 PCMU/8000
number and puts them into a SIP URI. Note
that tel URIs could be used instead of SIP URIs.
2:SIP 100 Trying Proxy 1 indicates to the SIP client that it is
trying to establish the call.
Open port 49172 for RTP receive Client for A prepares to receive data on port
49172 from the network.
Locate the SIP PSTN Gateway to route this call Proxy 1 uses a Location Service function to
determine the gateway for terminating this call.
The location service returns NGW 1 as the
gateway.
3:SIP INVITE The call is forwarded to the PSTN Network
Calling = +13145551111, Gateway NGW 1. The SIP INVITE message is
Called = +19725552222, sent to NGW 1.
Contact = [email protected],
Media = audio 49172 RTP/AVP,
Attribute = rtpmap:0 PCMU/8000
6:ISUP ACM Since all the digits were included in the ISUP
IAM, the switch replies with ISUP Address
Complete message. This signals that the switch
has received all the digits and is processing the
call.
Switch one-way voice towards The switch connects a one way voice path
originating subscriber towards Alice. This is needed to send the
ringing tone.
7:Ringing Tone The switch sends the ringing tone to the
subscriber.
8:SIP 183 Session Progress A SIP Session in Progess message is generated
Contact = [email protected], when the NGW 1 receives the ACM message
media = audio 3456 RTP/AVP 0, from the switch. The "Session Progress"
attribute = rtpmap:0 PCMU/8000 message also contains RTP media information
for the RTP port allocated for this call.
Open port 3456 for RTP receive
Alice Proxy 1 NGW 1 Switch
Start sending received PSTN Audio via RTP
At this point, a bi-directional RTP voice path has been established between Alice and NGW 1.
The Switch to NGW 1 is a uni-directional voice path. Alice is hearing the ringing tone from
the switch.
11:ISUP ANM Bob answers the call. The switch sends an
ISUP Answer message to NGW 1.
Switch a bidirectional voice path A bi-directional voice path is switched between
the calling and the called subscriber.
12:SIP 200 OK NGW 1 responds with SIP OK message to
Contact = [email protected], Proxy 1 to indicate that the subscriber has
media = audio 3456 RTP/AVP 0, answered the call.
attribute = rtpmap:0 PCMU/8000
Bob answers the call then Alice disconnects the call. Signaling between NGW 1 and Bob's
telephone switch is ANSI ISUP.
1:SIP INVITE Alice dials the globalized E.164 number
Calling = +13145551111, +19725552222 to reach Bob. Note that A might
Called = +19725552222, have only dialed the last 7 digits, or some other
Contact = [email protected], dialing plan. It is assumed that the SIP User
Media = audio 49172 RTP/AVP, Agent Client converts the digits into a global
Attribute = rtpmap:0 PCMU/8000
number and puts them into a SIP URI. Note
that tel URIs could be used instead of SIP URIs.
Alice could use either their SIP address
(sip:[email protected]) or SIP telephone
number
[email protected];user=phone)
in the From header. In this example, the
telephone number is included, and it is shown
as being passed as calling party identification
through the Network Gateway (NGW 1) to Bob.
Note that for this number to be passed into the
SS7 network, it would have to be somehow
verified for accuracy.
INVITE sip:[email protected];user=phone SIP/2.0 Via: SIP/2.0/TCP
client.a.example.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 From: Alice
<sip:[email protected];user=phone>;tag=9fxced76sl To: Bob
<sip:[email protected];user=phone> Call-ID: [email protected]
CSeq: 1 INVITE Contact: <sip:[email protected];transport=tcp> Proxy-Authorization:
Digest username="alice", realm="a.example.com", nonce="dc3a5ab25302aa931904ba7d88fa1cf5",
opaque="", uri="sip:[email protected];user=phone",
response="ccdca50cb091d587421457305d097458c" Content-Type: application/sdp Content-Length:
154
6:ISUP ACM Since all the digits were included in the ISUP
IAM, the switch replies with ISUP Address
Complete message. This signals that the switch
has received all the digits and is processing the
call.
Switch one-way voice towards The switch connects a one way voice path
originating subscriber towards Alice. This is needed to send the
ringing tone.
7:Ringing Tone The switch sends the ringing tone to the
subscriber.
8:SIP 183 Session Progress A SIP Session in Progess message is generated
Contact = [email protected], when the NGW 1 receives the ACM message
media = audio 3456 RTP/AVP 0, from the switch. The "Session Progress"
attribute = rtpmap:0 PCMU/8000 message also contains RTP media information
for the RTP port allocated for this call.
Notice that the Contact returned by NGW 1 in
this and following messages is
sip:[email protected]. This is because
NGW 1 only accepts SIP messages that come
through Proxy 1 - any direct signaling will be
ignored. Since this Contact URI may be used
outside of this dialog and must be routable
(Section 8.1.1.8 in RFC 3261 [2]) the Contact
URI for NGW 1 must resolve to Proxy 1. This
Contact URI is an AOR which resolves via DNS
to Proxy 1 (sip:ss1.a.example.com) which then
resolves it to sip:ngw1.a.example.com which is
the address of NGW 1.
SIP/2.0 183 Session Progress Via: SIP/2.0/TCP
ss1.a.example.com:5060;branch=z9hG4bK2d4790.1;received=192.0.2.111 Via: SIP/2.0/TCP
client.a.example.com:5060;branch=z9hG4bK74bf9;received=192.0.2.101 Record-Route:
<sip:ss1.a.example.com;lr> From: Alice
Alice Proxy 1 NGW 1 Switch
<sip:[email protected];user=phone>;tag=9fxced76sl To: Bob
<sip:[email protected];user=phone> ;tag=314159 Call-ID:
[email protected] CSeq: 1 INVITE Contact:
<sip:[email protected];transport=tcp> Content-Type: application/sdp Content-Length: 146
v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com s=- c=IN IP4 ngw1.a.example.com
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
Open port 3456 for RTP receive
v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com s=- c=IN IP4 ngw1.a.example.com
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
At this point, a bi-directional RTP voice path has been established between Alice and NGW 1.
The Switch to NGW 1 is a uni-directional voice path. Alice is hearing the ringing tone from
the switch.
11:ISUP ANM Bob answers the call. The switch sends an
ISUP Answer message to NGW 1.
Switch a bidirectional voice path A bi-directional voice path is switched between
the calling and the called subscriber.
12:SIP 200 OK NGW 1 responds with SIP OK message to
Contact = [email protected], Proxy 1 to indicate that the subscriber has
media = audio 3456 RTP/AVP 0, answered the call.
attribute = rtpmap:0 PCMU/8000
v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com s=- c=IN IP4 gw1.a.example.com
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
13:SIP 200 OK Proxy 1 sends SIP OK message to Alice's SIP
client.
SIP/2.0 200 OK Via: SIP/2.0/TCP
client.a.example.com:5060;branch=z9hG4bK74bf9;received=192.0.2.101 Record-Route:
<sip:ss1.a.example.com;lr> From: Alice
<sip:[email protected];user=phone>;tag=9fxced76sl To: Bob
<sip:[email protected];user=phone>;tag=314159 Call-ID:
[email protected] CSeq: 1 INVITE Contact:
<sip:[email protected];transport=tcp> Content-Type: application/sdp Content-Length: 146
v=0 o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com s=- c=IN IP4 ngw1.a.example.com
Alice Proxy 1 NGW 1 Switch
t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000
14:SIP ACK The SIP client acknowledges the receipt of SIP
OK message.
ACK sip:[email protected] SIP/2.0 Via: SIP/2.0/TCP
client.a.example.com:5060;branch=z9hG4bK74bf9 Max-Forwards: 70 Route:
<sip:ss1.a.example.com;lr> From: Alice
<sip:[email protected];user=phone>;tag=9fxced76sl To: Bob
<sip:[email protected];user=phone>;tag=314159 Call-ID:
[email protected] CSeq: 1 ACK Content-Length: 0
15:SIP ACK Proxy 1 acknowledges the receipt of SIP OK
message.
ACK sip:[email protected] SIP/2.0 Via: SIP/2.0/TCP
ss1.a.example.com:5060;branch=z9hG4bK2d4790.1 Via: SIP/2.0/TCP
client.a.example.com:5060;branch=z9hG4bK74bf9;received=192.0.2.101 Max-Forwards: 69 From:
Alice <sip:[email protected];user=phone>;tag=9fxced76sl To: Bob
<sip:[email protected];user=phone>;tag=314159 Call-ID:
[email protected] CSeq: 1 ACK Content-Length: 0
Switch through bidirectional voice At this point, NGW 1 bridges the bidirectional
RTP path and the bidirectional SIP path.
Voice communciation between Alice and Bob as the RTP (Alice<->NGW 1) and PSTN (NGW 1<->Switch)
paths are bidirectional.
Alice Hangs Up with Bob.
16:SIP BYE The SIP client sends a BYE message to Proxy 1
This document and translations of it may be copied and furnished to others, and derivative
works that comment on or otherwise explain it or assist in its implementation may be
prepared, copied, published and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are included on all such
copies and derivative works. However, this document itself may not be modified in any way,
such as by removing the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of developing Internet standards in
which case the procedures for copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than English.