Knowledge Base

Unable to Make Outgoing Calls

Article ID: 63
Last updated: 02 Mar, 2019

When a device is unable to make calls, there is always a problem with the signaling between the SIP Server and the device. So what is normal signaling? Below is an example of normal SIP flow of an outgoing call. The device sends an INVITE to the SIP Server. INVITEs contain quite a bit of information. They contain the SDP (Session Description Protocol), To URI, From URI, Contact, Via, and more. SDP information tells the SIP Server, "Hey, when you need to send me audio, send it to this IP address and this port." SDP also contains information about which codecs the calling device can support, although the receiving device determines which codec will be used during the call. If the INVITE contains codecs that are not accepted by our server, the server will send back a 488 Not Acceptable Here. If all is well at this point, the SIP Server responds with 100 Trying, followed by a 407 Proxy Auth Required message. This message tells the device that it must authenticate itself in order to make a call, much like the SIP registration. The device then sends back an ACK to the SIP Server letting the server know that it got the 407 message and intends to authenticate itself. The device then sends out another INVITE with an additional SIP header, "Proxy-Authenticate". In the authorization, the device places its authentication username, realm, nonce (the string provided by the SIP server), and password in an MD5 sum. The server then sends back yet another 100 Trying signal if all the auth information is correct and the MD5 sum matches what calculation the server came up with (combining nonce with password). I have placed an example below, highlighting the nonce and registration Proxy-Authenticate lines. Once the second INVITE comes in, and the server is ready to process the request, it looks at the "To" header to determine where to send the call. If an internal call flow, it looks it up in the database, finds the extension number, and attempts to contact the other device. If an external call, it attempts to match the dialed digits against a variety of strings. If, after all attempts, the string does not match a valid number, the server will send back a 484 Address Incomplete. This of course indicates that the caller dialed an incorrect number, or the server was not sent the full amount of digits in the "To" header. If all is well, the SIP Server then sends the INVITE out to the PSTN network and attempts to contact the address. The receiving device then sends back one of two messages. A 180 Ringing response means, the device on the other end is, well, ringing! It is the responsibility of the calling party's device to create the ring-back tone to the user when a 180 signal is received! The other signal the receiving party can send back is a 183 Session Progress. 183 signals contain SDP like to INVITE. This signal is also known as 'early media'. When a 183 signal is sent, it is the responsibility of the receiving party to create the ring-back tones. This is how some cell phones can play you music while your party is called instead of your phone just ringing. The receiving carrier sends you early media (media before the call is picked up). When the receiving device picks up the call (or goes to a voicemail) or server gets back a 200 OK signal. In this 200 OK, there is also SDP that tells the calling device where to send their audio (IP and port). Immediately following the 200 OK, we have two-way RTP (Real Time Protocol - better known as audio streams). An ACK is sent from the calling device to the receiving device to acknowledge that they got the 200 OK signal. At this point the call setup is 100% complete and audio is flowing in both directions. When the call is over, the first device to hang up the call sends the BYE signal to the other device. This other device then sends back a 200 OK response acknowledging that it received the BYE signal.

U 98.114.28.158:1024 -> 162.252.248.41:5060
INVITE sip:2159874500@spaz.jh.atlas.wlcomm.net SIP/2.0.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d84a1dd896ff53c;rport.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 6 INVITE.
Contact: <sip:sipspaz_ec28@98.114.28.158:1024>.
Content-Type: application/sdp.
Allow: INVITE, OPTIONS, ACK, BYE, CANCEL, INFO, NOTIFY, MESSAGE, UPDATE.
Max-Forwards: 70.
Supported: 100rel, replaces, from-change.
User-Agent: SIPPER for PhonerLite.
P-Preferred-Identity: <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>.
Content-Length: 444.
.
v=0.
o=- 525231089 1 IN IP4 98.114.28.158.
s=SIPPER for PhonerLite.
c=IN IP4 98.114.28.158.
t=0 0.
m=audio 5062 RTP/AVP 107 8 0 2 3 97 110 111 9 101.
a=rtpmap:107 opus/48000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:2 G726-32/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:97 iLBC/8000.
a=rtpmap:110 speex/8000.
a=rtpmap:111 speex/16000.
a=rtpmap:9 G722/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=ssrc:1502891776.
a=sendrecv.

U 162.252.248.41:5060 -> 98.114.28.158:1024
SIP/2.0 100 Attempting to connect your call.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d84a1dd896ff53c;rport=1024.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 6 INVITE.
Content-Length: 0.
.
U 162.252.248.41:5060 -> 98.114.28.158:1024
SIP/2.0 407 Proxy Authentication Required.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d84a1dd896ff53c;rport=1024.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=jj3H0Zc6K94tH.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 6 INVITE.
User-Agent: Atlas.
Accept: application/sdp.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
Supported: path, replaces.
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer.
Proxy-Authenticate: Digest realm="spaz.jh.atlas.wlcomm.net", nonce="88d62e2e-d038-11e4-ac06-ff4579e82515", algorithm=MD5, qop="auth".
Content-Length: 0.
.
U 98.114.28.158:1024 -> 162.252.248.41:5060
ACK sip:2159874500@spaz.jh.atlas.wlcomm.net SIP/2.0.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d84a1dd896ff53c;rport.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=jj3H0Zc6K94tH.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 6 ACK.
Content-Length: 0.
.
U 98.114.28.158:1024 -> 162.252.248.41:5060
INVITE sip:2159874500@spaz.jh.atlas.wlcomm.net SIP/2.0.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d86a1dd896ff53c;rport.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 7 INVITE.
Contact: <sip:sipspaz_ec28@98.114.28.158:1024>.
Proxy-Authorization: Digest username="sipspaz_ec28", realm="spaz.jh.atlas.wlcomm.net", nonce="88d62e2e-d038-11e4-ac06-ff4579e82515", uri="sip:2159874500@spaz.jh.atlas.wlcomm.net", response="c1f5e3707d8969eabf57b3d44607e243", algorithm=MD5, cnonce="0087b63ea6cee4118d85a1dd896ff53c", qop=auth, nc=00000001.
Content-Type: application/sdp.
Allow: INVITE, OPTIONS, ACK, BYE, CANCEL, INFO, NOTIFY, MESSAGE, UPDATE.
Max-Forwards: 70.
Supported: 100rel, replaces, from-change.
User-Agent: SIPPER for PhonerLite.
P-Preferred-Identity: <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>.
Content-Length: 444.
.
v=0.
o=- 525231089 1 IN IP4 98.114.28.158.
s=SIPPER for PhonerLite.
c=IN IP4 98.114.28.158.
t=0 0.
m=audio 5062 RTP/AVP 107 8 0 2 3 97 110 111 9 101.
a=rtpmap:107 opus/48000.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:2 G726-32/8000.
a=rtpmap:3 GSM/8000.
a=rtpmap:97 iLBC/8000.
a=rtpmap:110 speex/8000.
a=rtpmap:111 speex/16000.
a=rtpmap:9 G722/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=ssrc:1502891776.
a=sendrecv.
U 162.252.248.41:5060 -> 98.114.28.158:1024
SIP/2.0 100 Attempting to connect your call.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d86a1dd896ff53c;rport=1024.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 7 INVITE.
Content-Length: 0.
.
U 162.252.248.41:5060 -> 98.114.28.158:1024
SIP/2.0 183 Session Progress.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d86a1dd896ff53c;rport=1024.
Record-Route: <sip:162.252.248.41;lr=on;ftag=2543162653>.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=KUva2tX9gjUDD.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 7 INVITE.
Contact: <sip:2159874500@162.252.248.69:11000;transport=udp>.
User-Agent: Atlas.
Accept: application/sdp.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
Supported: path, replaces.
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer.
Content-Type: application/sdp.
Content-Disposition: session.
Content-Length: 224.
P-Asserted-Identity: "2159874500" <sip:2159874500@spaz.jh.atlas.wlcomm.net>.
.
v=0.
o=FreeSWITCH 1426965675 1426965676 IN IP4 162.252.248.69.
s=FreeSWITCH.
c=IN IP4 162.252.248.69.
t=0 0.
m=audio 24530 RTP/AVP 9 101.
a=rtpmap:9 G722/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=ptime:20.
U 162.252.248.41:5060 -> 98.114.28.158:1024
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0087b63ea6cee4118d86a1dd896ff53c;rport=1024.
Record-Route: <sip:162.252.248.41;lr=on;ftag=2543162653>.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=KUva2tX9gjUDD.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 7 INVITE.
Contact: <sip:2159874500@162.252.248.69:11000;transport=udp>.
User-Agent: Atlas.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
Supported: path, replaces.
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer.
Content-Type: application/sdp.
Content-Disposition: session.
Content-Length: 224.
P-Asserted-Identity: "2159874500" <sip:2159874500@spaz.jh.atlas.wlcomm.net>.
.
v=0.
o=FreeSWITCH 1426965675 1426965676 IN IP4 162.252.248.69.
s=FreeSWITCH.
c=IN IP4 162.252.248.69.
t=0 0.
m=audio 24530 RTP/AVP 9 101.
a=rtpmap:9 G722/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=ptime:20.
U 98.114.28.158:1024 -> 162.252.248.41:5060
ACK sip:2159874500@162.252.248.69:11000;transport=udp SIP/2.0.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK0095dd45a6cee4118d86a1dd896ff53c;rport.
Route: <sip:162.252.248.41;lr=on;ftag=2543162653>.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=KUva2tX9gjUDD.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 7 ACK.
Contact: <sip:sipspaz_ec28@98.114.28.158:1024>.
Proxy-Authorization: Digest username="sipspaz_ec28", realm="spaz.jh.atlas.wlcomm.net", nonce="88d62e2e-d038-11e4-ac06-ff4579e82515", uri="sip:2159874500@spaz.jh.atlas.wlcomm.net", response="c1f5e3707d8969eabf57b3d44607e243", algorithm=MD5, cnonce="0087b63ea6cee4118d85a1dd896ff53c", qop=auth, nc=00000001.
Max-Forwards: 70.
Content-Length: 0.
.
U 98.114.28.158:1024 -> 162.252.248.41:5060
BYE sip:2159874500@162.252.248.69:11000;transport=udp SIP/2.0.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK8085d848a6cee4118d86a1dd896ff53c;rport.
Route: <sip:162.252.248.41;lr=on;ftag=2543162653>.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=KUva2tX9gjUDD.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 8 BYE.
Contact: <sip:sipspaz_ec28@98.114.28.158:1024>.
Proxy-Authorization: Digest username="sipspaz_ec28", realm="spaz.jh.atlas.wlcomm.net", nonce="88d62e2e-d038-11e4-ac06-ff4579e82515", uri="sip:2159874500@162.252.248.69:11000;transport=udp", response="f878bc0c4bb2af1971c2dc74aa30e677", algorithm=MD5, cnonce="8085d848a6cee4118d87a1dd896ff53c", qop=auth, nc=00000002.
Max-Forwards: 70.
User-Agent: SIPPER for PhonerLite.
Content-Length: 0.
.
U 162.252.248.41:5060 -> 98.114.28.158:1024
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 98.114.28.158:1024;branch=z9hG4bK8085d848a6cee4118d86a1dd896ff53c;rport=1024.
From: "PhonerLite" <sip:sipspaz_ec28@spaz.jh.atlas.wlcomm.net>;tag=2543162653.
To: <sip:2159874500@spaz.jh.atlas.wlcomm.net>;tag=KUva2tX9gjUDD.
Call-ID: 0087B63E-A6CE-E411-8D83-A1DD896FF53C@192.168.1.160.
CSeq: 8 BYE.
User-Agent: Atlas.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE.
Supported: path, replaces.
Content-Length: 0.
This article was:   Helpful | Not helpful
Report an issue
Article ID: 63
Last updated: 02 Mar, 2019
Revision: 1
Views: 147