c=IN IP4 ngw1.a.example.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
/* Proxy 1 uses a Location Service function to determine a route for
+19725552222. The call is then forwarded to Bob. */
F3 INVITE Proxy 1 -> Bob
INVITE sip:bob@b.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
Max-Forwards: 69
Record-Route: <sip:ss1.a.example.com;lr>
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:ngw1@a.example.com>
Content-Type: application/sdp
Content-Length: 146
v=0
o=GW 2890844527 2890844527 IN IP4 ngw1.a.example.com
c c=IN IP4 ngw1.a.example.com
t=0 0
m=audio 3456 RTP/AVP 0
a=rtpmap:0 PCMU/8000
F4 100 Trying Proxy 1 -> NGW 1
SIP/2.0 100 Trying
Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Content-Length: 0
F5 INVITE Proxy 1 -> Bob
Same as Message F3
F6 INVITE Proxy 1 -> Bob
Same as Message F3
F7 INVITE Proxy 1 -> Bob
Same as Message F3
F8 INVITE Proxy 1 -> Bob
Same as Message F3
F9 INVITE Proxy 1 -> Bob
Same as Message F3
/* Timer expires in Alice’s access network. */
F10 REL Alice -> NGW 1
REL
CauseCode=16 Normal
F11 RLC NGW 1 -> Alice
RLC
F12 CANCEL NGW 1 -> Proxy 1
CANCEL sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 CANCEL
Content-Length: 0
F13 200 OK Proxy 1 -> NGW 1
SIP/2.0 200 OK
Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 CANCEL
Content-Length: 0
3.8. Unsuccessful PSTN->SIP, ACM timeout, stateless Proxy
Switch A NGW 1 Stateless Proxy 1 Bob
| | | |
| IAM F1 | | |
|--------------->| INVITE F2 | |
| |--------------->| INVITE F3 |
| | INVITE F4 |--------------->|
| |--------------->| INVITE F5 |
| | INVITE F6 |--------------->|
| |--------------->| INVITE F7 |
| | INVITE F8 |--------------->|
| |--------------->| INVITE F9 |
| | INVITE F10 |--------------->|
| |--------------->| INVITE F11 |
| | INVITE F12 |--------------->|
| |--------------->| INVITE F13 |
| | |--------------->|
| REL F14 | | |
|--------------->| | |
| RLC F15 | | |
|<---------------| | |
In this scenario, Alice calls Bob through NGW 1 and Proxy 1. Since
Proxy 1 is stateless (it does not send a 100 Trying response), NGW 1
re-sends the INVITE message after the expiration of SIP timer T1.
Bob does not respond with 180 Ringing. Alice’s network disconnects
the call with a release REL (CauseCode=102 Timeout).
Message Details
F1 IAM Alice -> NGW 1
IAM
CgPN=314-555-1111,NPI=E.164,NOA=National
CdPN=972-555-2222,NPI=E.164,NOA=National
F2 INVITE NGW 1 -> Proxy 1
INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:ngw1@a.example.com>
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
/* Proxy 1 uses a Location Service function to determine a route for
+19725552222. The call is then forwarded to Bob. */
F3 INVITE Proxy 1 -> Bob
INVITE sip:bob@b.example.com SIP/2.0
Via: SIP/2.0/UDP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/UDP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.201
Max-Forwards: 69
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:ngw1@a.example.com>
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
F4 INVITE NGW 1 -> Proxy 1
Same as Message F2
F5 INVITE Proxy 1 -> Bob
Same as Message F3
F6 INVITE NGW 1 -> Proxy 1
Same as Message F2
F7 INVITE Proxy 1 -> Bob
Same as Message F3
F8 INVITE NGW 1 -> Proxy 1
Same as Message F2
F9 INVITE Proxy 1 -> Bob
Same as Message F3
F10 INVITE NGW 1 -> Proxy 1
Same as Message F2
F11 INVITE Proxy 1 -> Bob
Same as Message F3
F12 INVITE NGW 1 -> Proxy 1
Same as Message F2
F13 INVITE Proxy 1 -> Bob
Same as Message F3
/* A timer expires in Alice’s access network. */
F14 REL Alice -> NGW 1
REL
CauseCode=102 Timeout
F15 RLC NGW 1 -> Alice
RLC
3.9. Unsuccessful PSTN->SIP, Caller Abandonment
Switch A NGW 1 Proxy 1 Bob
| | | |
| IAM F1 | | |
|--------------->| INVITE F2 | |
| |--------------->| INVITE F3 |
| | 100 F4 |--------------->|
| |<---------------| |
| | | 180 F5 |
| | 180 F6 |<---------------|
| ACM F7 |<---------------| |
|<---------------| | |
| One Way Voice | | |
|<===============| | |
| Ringing Tone | | |
|<===============| | |
| | | |
| REL F8 | | |
|--------------->| | |
| RLC F9 | | |
|<---------------| CANCEL F10 | |
| |--------------->| |
| | 200 F11 | |
| |<---------------| |
| | | CANCEL F12 |
| | |--------------->|
| | | 200 F13 |
| | |<---------------|
| | | 487 F14 |
| | |<---------------|
| | | ACK F15 |
| | 487 F16 |--------------->|
| |<---------------| |
| | ACK F17 | |
| |--------------->| |
| | | |
In this scenario, Alice calls Bob through NGW 1 and Proxy 1. Bob
does not respond with 200 OK. NGW 1 plays ringing tone since the ACM
indicates that interworking has been encountered. Alice disconnects
the call with a Release message REL which is mapped by NGW 1 to a
CANCEL. Note that if Bob had sent a 200 OK response after the REL,
NGW 1 would have sent an ACK and then a BYE to properly terminate the
call.
Message Details
F1 IAM Alice -> NGW 1
IAM
CgPN=314-555-1111,NPI=E.164,NOA=National
CdPN=972-555-2222,NPI=E.164,NOA=National
F2 INVITE Alice -> Proxy 1
INVITE sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:ngw1@a.example.com;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
/* Proxy 1 uses a Location Service function to determine a route for
+19725552222. The call is then forwarded to Bob. */
F3 INVITE Proxy 1 -> Bob
INVITE sip:bob@b.example.com SIP/2.0
Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
Max-Forwards: 69
Record-Route: <sip:ss1.a.example.com;lr>
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:ngw1@a.example.com;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
F4 100 Trying Bob -> Proxy 1
SIP/2.0 100 Trying
Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.201
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Content-Length: 0
F5 180 Ringing Bob -> Proxy 1
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
Record-Route: <sip:ss1.a.example.com;lr>
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:bob@client.b.example.com;transport=tcp>
Content-Length: 0
F6 180 Ringing Proxy 1 -> NGW 1
SIP/2.0 180 Ringing
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
Record-Route: <sip:ss1.a.example.com;lr>
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Contact: <sip:bob@client.b.example.com>
Content-Length: 0
F7 ACM NGW 1 -> Alice
ACM
/* Alice hangs up */
F8 REL Alice -> NGW 1
REL
CauseCode=16 Normal
F9 RLC NGW 1 -> Alice
RLC
F10 CANCEL NGW 1 -> Proxy 1
CANCEL sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 CANCEL
Content-Length: 0
F11 200 OK Proxy 1 -> NGW 1
SIP/2.0 200 OK
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 CANCEL
Content-Length: 0
F12 CANCEL Proxy 1 -> Bob
CANCEL sip:bob@b.example.com SIP/2.0
Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 CANCEL
Content-Length: 0
F13 200 OK Bob -> Proxy 1
SIP/2.0 200 OK
Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 CANCEL
Content-Length: 0
F14 487 Request Terminated Bob -> Proxy 1
SIP/2.0 487 Request Terminated
Via: SIP/2.0/TCP ss1.a.example.com:5060;branch=z9hG4bK2d4790.1
;received=192.0.2.111
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Content-Length: 0
F15 ACK Proxy 1 -> Bob
ACK sip:bob@b.example.com SIP/2.0
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 ACK
Content-Length: 0
F16 487 Request Terminated Proxy 1 -> NGW 1
SIP/2.0 487 Request Terminated
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
;received=192.0.2.103
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 INVITE
Content-Length: 0
F17 ACK NGW 1 -> Proxy 1
ACK sip:+19725552222@ss1.a.example.com;user=phone SIP/2.0
Via: SIP/2.0/TCP ngw1.a.example.com:5060;branch=z9hG4bKlueha2
Max-Forwards: 70
From: <sip:+13145551111@ngw1.a.example.com;user=phone>;tag=7643kals
To: <sip:+19725552222@ss1.a.example.com;user=phone>;tag=314159
Call-ID: 4Fde34wkd11wsGFDs3@ngw1.a.example.com
CSeq: 1 ACK
Content-Length: 0
4. PSTN to PSTN Dialing via SIP Network
In these scenarios, both the caller and the called party are in the
telephone network, either normal PSTN subscribers or PBX extensions.
The calls route through two Gateways and at least one SIP Proxy
Server. The Proxy Server performs the authentication and location of
the Gateways.
Again it is noted that the intent of this call flows document is not
to provide a detailed parameter level mapping of SIP to PSTN
protocols. For information on SIP to ISUP mapping, the reader is
referred to other references [4].
In these scenarios, the call is successfully completed between the
two Gateways, allowing the PSTN or PBX users to communicate. The 183
Session Progress response is used to indicate that in-band alerting
may flow from the called party telephone switch to the caller.
4.1. Successful ISUP PSTN to ISUP PSTN call
Switch A NGW 1 Proxy 1 GW 2 Switch C
| | | | |
| IAM F1 | | | |
|------------->| | | |
| | INVITE F2 | | |
| |------------->| INVITE F3 | |
| | |------------->| IAM F4 |
| | | |------------->|
| | | | ACM F5 |
| | | 183 F6 |<-------------|
| | 183 F7 |<-------------| |
| ACM F8 |<-------------| | |
|<-------------| | | |
| One Way Voice| Two Way RTP Media | One Way Voice|
|<=============|<===========================>|<=============|
| | | | ANM F9 |
| | | 200 F10 |<-------------|
| | 200 F11 |<-------------| |
| ANM F12 |<-------------| | |
|<-------------| | | |
| | ACK F13 | | |
| |------------->| ACK F14 | |
| | |------------->| |
|Both Way Voice| Both Way RTP Media |Both Way Voice|
|<=============|<===========================>|<=============|
| | | | REL F15 |
| | | |<-------------|
| | | BYE F16 | |
| | BYE F18 |<-------------| RLC F17 |
| |<-------------| |------------->|
| | | | |
| | 200 F19 | | |
| |------------->| 200 F20 | |
| | |------------->| |
| REL F21 | | | |
|<-------------| | | |
| RLC F22 | | | |
|------------->| | | |
| | | | |
In this scenario, Alice in the PSTN calls Carol who is an extension
on a PBX. Alice’s telephone switch signals via SS7 to the Network
Gateway NGW 1, while Carol’s PBX signals via SS7 with the Gateway GW
2. The CdPN and CgPN are mapped by GW 1 into SIP URIs and placed in
the To and From headers. Proxy 1 looks up the dialed digits in the
Request-URI and maps the digits to the PBX extension of Carol, which
is served by GW 2. The Proxy in F3 uses the host portion of the