[asterisk-dev] [Code Review] 3038: Add CHANNEL function support for PJSIP

Matt Jordan reviewboard at asterisk.org
Mon Dec 9 21:19:56 CST 2013



> On Dec. 4, 2013, 9:02 p.m., Mark Michelson wrote:
> > I have a general thread-safety concern with this addition. In general, the ast_sip_session, pjsip_dialog, and pjsip_inv_session structures are only accessed from SIP servant threads. With this set of changes, you access session data from whichever thread is executing the CHANNEL() function. To ensure thread safety, I recommend pushing the entirety of the processing into the session's serializer using ast_sip_push_task_synchronous().

Agreed.


> On Dec. 4, 2013, 9:02 p.m., Mark Michelson wrote:
> > /branches/12/channels/pjsip/dialplan_functions.c, lines 316-327
> > <https://reviewboard.asterisk.org/r/3038/diff/1/?file=48949#file48949line316>
> >
> >     These descriptions are inaccurate when used on outgoing channels.

Doh.

How about:

target_uri: The request URI of the INVITE request associated with the creation of this channel.
local_uri - The URI in the To header of the INVITE request associated with the creation of this channel.
remote_uri - The URI in the From header of the INVITE request associated with the creation of this channel.


> On Dec. 4, 2013, 9:02 p.m., Mark Michelson wrote:
> > /branches/12/channels/pjsip/dialplan_functions.c, lines 338-345
> > <https://reviewboard.asterisk.org/r/3038/diff/1/?file=48949#file48949line338>
> >
> >     These descriptions are inaccurate when used on outbound channels.

Not sure this is much better:

local_addr: The full IP address and port number that received/transmitted the INVITE request associated with the creation of this channel.
remote_addr: The full IP address and port number that sent/was the target of the INVITE request associated with the creation of this channel.


> On Dec. 4, 2013, 9:02 p.m., Mark Michelson wrote:
> > /branches/12/channels/pjsip/dialplan_functions.c, line 570
> > <https://reviewboard.asterisk.org/r/3038/diff/1/?file=48949#file48949line570>
> >
> >     The preferred method of printing URIs is not to access their vptr directly but instead use pjsip_uri_print()
> >     
> >     This can be applied several places throughout this file.

Well that's handy.


- Matt


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3038/#review10299
-----------------------------------------------------------


On Dec. 1, 2013, 2:08 p.m., Matt Jordan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3038/
> -----------------------------------------------------------
> 
> (Updated Dec. 1, 2013, 2:08 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This patch adds CHANNEL function support to chan_pjsip. Since things were getting a bit large, all dialplan functions that were in chan_pjsip have also been moved into their own file (dialplan_functions).
> 
> Information that can be retrieved:
>  * rtp,type,[media_type] - Get RTP information, including media source/destination addresses, whether or not the media is secure, etc.
>  * rtcp,statistic,[media_type] - Get RTCP statistic information
>  * endpoint - Get the name of the endpoint associated with this channel. Use PJSIP_ENDPOINT to get more info.
>  * pjsip,type - Get signalling related information, including source/destination addresses, URIs in the INVITE request, whether or not the signalling is using a secure transport, etc.
> 
> Note that after this patch is committed, we should go back through the CHANNEL function documentation and move all of the channel technology specific information into <info/> blocks, so that the documentation is co-located with the channel drivers themselves.
> 
> 
> Diffs
> -----
> 
>   /branches/12/res/res_pjsip_t38.c 403254 
>   /branches/12/include/asterisk/res_pjsip_session.h 403254 
>   /branches/12/funcs/func_channel.c 403254 
>   /branches/12/channels/pjsip/include/dialplan_functions.h PRE-CREATION 
>   /branches/12/channels/pjsip/include/chan_pjsip.h PRE-CREATION 
>   /branches/12/channels/pjsip/dialplan_functions.c PRE-CREATION 
>   /branches/12/channels/chan_pjsip.c 403254 
>   /branches/12/channels/Makefile 403254 
> 
> Diff: https://reviewboard.asterisk.org/r/3038/diff/
> 
> 
> Testing
> -------
> 
> See https://reviewboard.asterisk.org/r/3037
> 
> 
> Thanks,
> 
> Matt Jordan
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20131210/c737fe88/attachment-0001.html>


More information about the asterisk-dev mailing list