[asterisk-dev] [Code Review] 3050: PJSIP: Add Path header support

Joshua Colp reviewboard at asterisk.org
Wed Dec 11 10:06:29 CST 2013


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



/trunk/res/res_pjsip_registrar.c
<https://reviewboard.asterisk.org/r/3050/#comment19784>

    It's actually possible for there to be multiple Path headers. They may also be accumulated and be separated by ","


I have some general design comments which I think could improve things a bit:

1. I think it's time we make the contact object a parameter to request creation and session creation. In my mind as things continue to be added there's going to be additional information associated with it which may influence the creation process, and it also makes the next thing possible.

2. Make the contact available to outgoing request supplements. This would greatly simplify your supplement and could be useful further down the road for other things. One way of accomplishing this would be to store it with ref bumped on the tdata mod_data, and then after all the supplements have been invoked to simply drop the ref. It doesn't need to persist for the lifetime of tdata (and since it wouldn't it would need to be documented as such).

- Joshua Colp


On Dec. 5, 2013, 7:06 p.m., opticron wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3050/
> -----------------------------------------------------------
> 
> (Updated Dec. 5, 2013, 7:06 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-21084
>     https://issues.asterisk.org/jira/browse/ASTERISK-21084
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This adds Path support to chan_pjsip in res_pjsip_path.c with minimal additions in res_pjsip_registrar.c to store the path and additions in res_pjsip_outbound_registration.c to enable advertisement of path support to registrars and intervening proxies.
> 
> Path information is stored on contacts and is enabled via Address of Record (AoRs) and Registration configuration sections.
> 
> While adding path support, it became necessary to be able to add SIP supplements that handled messages outside of sessions, so a framework for handling these types of hooks was added in parallel to the already-existing session supplements and several senders of out-of-dialog requests were refactored as a result.
> 
> 
> Diffs
> -----
> 
>   /trunk/res/res_pjsip_t38.c 403395 
>   /trunk/res/res_pjsip_registrar.c 403395 
>   /trunk/res/res_pjsip_refer.c 403395 
>   /trunk/res/res_pjsip_path.c PRE-CREATION 
>   /trunk/res/res_pjsip_outbound_registration.c 403395 
>   /trunk/res/res_pjsip_notify.c 403395 
>   /trunk/res/res_pjsip_mwi.c 403395 
>   /trunk/res/res_pjsip_messaging.c 403395 
>   /trunk/res/res_pjsip_header_funcs.c 403395 
>   /trunk/res/res_pjsip_diversion.c 403395 
>   /trunk/res/res_pjsip_caller_id.c 403395 
>   /trunk/res/res_pjsip/pjsip_options.c 403395 
>   /trunk/res/res_pjsip/pjsip_distributor.c 403395 
>   /trunk/res/res_pjsip/location.c 403395 
>   /trunk/res/res_pjsip.c 403395 
>   /trunk/include/asterisk/res_pjsip_session.h 403395 
>   /trunk/include/asterisk/res_pjsip.h 403395 
>   /trunk/channels/chan_pjsip.c 403395 
> 
> Diff: https://reviewboard.asterisk.org/r/3050/diff/
> 
> 
> Testing
> -------
> 
> This passes the tests covered by the review at https://reviewboard.asterisk.org/r/3051/
> 
> These tests were converted to work with chan_pjsip from their chan_sip counterparts.
> 
> 
> Thanks,
> 
> opticron
> 
>

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


More information about the asterisk-dev mailing list