[asterisk-users] Get SIP Call-ID from ARI

TTT lists at telium.io
Sat Jun 17 18:40:56 CDT 2023


I tried 

GET /channels/{channelid}/variable?variable=CHANNEL(pjsip,call-id)

 

But it responds with

"message": "Channel not in Stasis application"

 

Since I want to get the call-id for a channel not in stasis I guess that won’t work.  Similarly, I can’t force the channel through my own code in the dialplan, so the PJSIP_HEADER function won’t work.  So it looks like I’ll have to upgrade my Asterisk test system to get the Call-ID from the ARI event.  It looks like it was added in Ast 16.

 

Out of curiosity, I see that call-id is returned in the “protocol_id” field of channel data structure.  However, since all channels in the same call must have the same Call-ID, how can this data be associated with a channel?  Wouldn’t it have to be associated with a bridge?  The Call-ID should not be available until two legs are bridged (I think).

 

Brian

 

 

From: asterisk-users [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Joshua C. Colp
Sent: Saturday, June 17, 2023 2:25 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion <asterisk-users at lists.digium.com>
Subject: Re: [asterisk-users] Get SIP Call-ID from ARI

 

On Sat, Jun 17, 2023 at 2:55 PM TTT <lists at telium.io <mailto:lists at telium.io> > wrote:

Based on postings it should be possible to get the SIP Call-ID header value from the ARI.  At what point is this value available ?  As well, how do I retrieve that value – something like

 

GET /channels/{channelId}/pjsip_header?key=Call-Id

 

But that doesn’t work.

 

'pjsip_header' is not a valid route. All possible routes are documented on the wiki, if it's not there then it doesn't exist.

 

Instead you would use variable[1] to execute the PJSIP_HEADER dialplan function[2] or a better way would be the CHANNEL dialplan function[3] such as:

 

GET /channels/{channelid}/variable?variable=CHANNEL(pjsip,call-id)

 

Though I haven't tested that.

 

Newer versions also include the protocol identifier (Call-ID) in the channel ARI structure[4] which would be in events, or explicitly retrieved[5].

 

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+Channels+REST+API#Asterisk20ChannelsRESTAPI-getChannelVar

[2] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+Function_PJSIP_HEADER

[3] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+Function_CHANNEL

[4] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+REST+Data+Models#Asterisk20RESTDataModels-Channel

[5] https://wiki.asterisk.org/wiki/display/AST/Asterisk+20+Channels+REST+API#Asterisk20ChannelsRESTAPI-get

 

-- 

Joshua C. Colp

Asterisk Project Lead

Sangoma Technologies

Check us out at www.sangoma.com <http://www.sangoma.com>  and www.asterisk.org <http://www.asterisk.org> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20230617/de82f8a5/attachment.html>


More information about the asterisk-users mailing list