Voice API call with SIP UPDATE message
Back to Articles
SIP Howto Regulation API

Voice API call with SIP UPDATE message

August 1, 2018 2 min
Aivis Olsteins

Aivis Olsteins

Earlier we discussed about setting specific SIP headers in calls generated by API.

Some voice carriers set specific requirements of how SIP sessions should be set and maintained. For example, there might be requirement to update call state information every given number of minutes during active call to indicate that the call is still alive. If the caller party does not issue call update every at predetermined time frames, the session is considered closed, and call is disconnected.

To update call status, SIP method UPDATE is used. Here is an example of SIP INVITE with subsequent UPDATE sent later within call:

 

INVITE sip:1234567890@10.1.1.1:5060;user=phone SIP/2.0
To: "1234567890"<sip:1234567890@10.1.1.1:5060;user=phone>
From: "987654321" <sip:987654321@10.1.1.2;user=phone>
Session-Expires: 1800;refresher=uac
Call-ID: 123456789abcdef@10.1.1.1:5060
Contact: <sip:987654321@10.1.1.2:5060>
Allow: ACK, INVITE, BYE, CANCEL, REGISTER, REFER, OPTIONS, PRACK, INFO, UPDATE
Content-Type: application/sdp
Content-Length: 280

And later, in the call:

 

UPDATE sip:1234567890@10.1.1.1:5060;user=phone SIP/2.0
Call-ID: 123456789abcdef@10.1.1.1:5060
To: "1234567890"<sip:1234567890@10.1.1.1:5060;user=phone>
From: "987654321" <sip:987654321@10.1.1.2;user=phone>
CSeq: 26 UPDATE
Allow: ACK, INVITE, BYE, CANCEL, REGISTER, REFER, OPTIONS, PRACK, INFO, UPDATE
Content-Length: 0

 

To which the other party replies with:

 

SIP/2.0 200 OK
From: "1234567890"<sip:1234567890@10.1.1.1:5060;user=phone>
To: "987654321" <sip:987654321@10.1.1.2;user=phone>
Call-ID: 123456789abcdef@10.1.1.1:5060
CSeq: 26 UPDATE
Content-Length: 0

 

Important to note, that in order for other party to properly identify the call which is being updated, it is essential to send proper request URI and Call-ID header value.

Now, in the context of API, the call request send a voice call callback request with update every 15 minutes on both call legs, the request will look like this:



POST /voice/call/callback

{
"leg_A":
{
"to": "1000123",
"from": "1000125",
"sip_update": 900
},
"leg_B":
{
"to": "1000125",
"from": "1000123",
"sip_update": 900
}
}

The attribute sip_update takes integer value in seconds and asks to send SIP UPDATE every 900 seconds to the both parties.

Finally, let's look at slightly more complex example: SIP UPDATE and Privacy headers request:

 

POST /voice/call/callback

{
"leg_A":
{
"to": "1000123",
"from": "1000125",
"osip_P-Asserted-Identity": "tel:+3312345678",
"osip_Privacy": "Id"
"sip_update": 900
},
"leg_B":
{
"to": "1000125",
"from": "1000123",
"osip_P-Asserted-Identity": "tel:+4412345678",
"osip_Privacy": "Id"
"sip_update": 900
}
}

 

The above example will set privacy headers to their proper, E.164 formatted values for call routing and rating purposes, while keeping their shorter, informal IDs in “from” fields, as well as send SIP UPDATE every 15 minutes to both call legs.

Share this article

Aivis Olsteins

Aivis Olsteins

An experienced telecommunications professional with expertise in network architecture, cloud communications, and emerging technologies. Passionate about helping businesses leverage modern telecom solutions to drive growth and innovation.

Related Articles

The Commitment Economy: Why Voice AI Bookings Must Be Integrated, Not Just Conversational

The Commitment Economy: Why Voice AI Bookings Must Be Integrated, Not Just Conversational

AI can promise a booking, but what about the broken promise? Learn why systemic integration, Accuracy Rate, and System Sync define the real test of Voice AI reliability

Read Article
Beyond the Dial Tone: 3 Metrics That Define Outbound AI Success

Beyond the Dial Tone: 3 Metrics That Define Outbound AI Success

Outbound AI requires a new scorecard. Learn the 3 metrics (Connection Rate, Engagement Quality, and Conversion Impact) that measure pipeline movement, not just call volume

Read Article
The New AI Scorecard: How to Measure Campaign Effectiveness Beyond "Call Volume"

The New AI Scorecard: How to Measure Campaign Effectiveness Beyond "Call Volume"

Stop guessing with 'Call Volume'. Discover the 3-Layer Framework for measuring Voice AI success: Goal Completion Rate (GCR), Sentiment Drift, and Knowledge Retrieval. Turn phone calls into structured marketing data

Read Article
What Happens to Metrics When "Hold Time" Hits Zero?

What Happens to Metrics When "Hold Time" Hits Zero?

Does Voice AI just save money? No. Discover the "CSAT Paradox" and how zero hold time improves revenue, lead capture, and team morale simultaneously.

Read Article

SUBSCRIBE TO OUR NEWSLETTER

Stay up to date with the latest news and updates from our telecom experts