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

Case Study: Global Communications Company

Case Study: Global Communications Company

A leading communications company used our cloud Voice platform to send 30 million OTP calls per month to their customers, resulting in cost reduction and incrased conversion

Read Article
Bridging The Delay Gap in Conversational AI: The Backpressure Analogy

Bridging The Delay Gap in Conversational AI: The Backpressure Analogy

Conversational AI struggles with the time gap between text generation and speech synthesis. A “backpressure” mechanism, akin to network data flow control, could slow text generation to match speech synthesis speed, improving user interaction.

Read Article
How Voice AI Agents Can Automate Outbound Calls and Unlock New Opportunities for Businesses: A Deeper Dive

How Voice AI Agents Can Automate Outbound Calls and Unlock New Opportunities for Businesses: A Deeper Dive

AI voice agents transform healthcare scheduling by reducing costs, administrative tasks, and no-shows. They offer 24/7 service, multilingual support, proactive reminders, and valuable insights, improving efficiency and patient experiences.

Read Article
How to Fix Your Context: Mitigating and Avoiding Context Failures in LLMs

How to Fix Your Context: Mitigating and Avoiding Context Failures in LLMs

Larger context windows in LLMs cause poisoning, distraction, confusion, and clash. Effective context management (RAG, pruning, quarantine, summarization, tool loadouts, offloading) remains essential for high-quality outputs.

Read Article

SUBSCRIBE TO OUR NEWSLETTER

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