[asterisk-dev] [Code Review] 2963: chan_pjsip: Extend redirect handling support

Mark Michelson reviewboard at asterisk.org
Thu Oct 31 17:29:45 CDT 2013


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


The code itself is good.

The problem I'm having with this change is that the "uri_dialplan" option needs both a better name and a better explanation. The big problem I have with the name is that the dialplan isn't involved at all. The Dial or Queue applications get involved by handling the redirection at that level of code. The distinction between uri_dialplan and uri_pjsip is really hard to explain to a typical Asterisk user. Given that the distinction is hard to make, it may be worth documenting why you would want to use uri_dialplan instead of uri_pjsip. The biggest reason I can see to let control go back to Dial() is so that channel redirecting information will be set on the new outbound channel. Other than that, it appears to be a lot of the same operations that were performed on the original outgoing channel (surprisingly, predial subroutines don't get run on call forward channels).

My big problem is that I don't really have a good suggestion for a new name. Perhaps "uri_asterisk" or "uri_core" to indicate that it's not being handled by PJSIP?

- Mark Michelson


On Oct. 26, 2013, 1:47 p.m., Joshua Colp wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2963/
> -----------------------------------------------------------
> 
> (Updated Oct. 26, 2013, 1:47 p.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> chan_pjsip currently supports only one method for handling redirects: It takes the user portion of the target and places it into the call forwarding target as a local extension. This is fine for calling end-user devices but is not suitable for some situations involving other SIP servers (*cough* Microsoft Lync *cough*). The attached patch makes the behavior configurable and adds two other options: "uri_dialplan" and "uri_pjsip".
> 
> The uri_dialplan option returns the URI as the call forwarding target and instructs the dial process to dial it using the original endpoint. This is the equivalent of the "promiscredir" option in chan_sip.
> 
> The uri_pjsip option handles the redirect completely within chan_pjsip itself. This allows multiple targets to be tried if need be, and also reduces the amount of work the core has to do (no channel teardown and dialing again, the same channel is used).
> 
> As all of these may be useful for people and implementing them is relatively easy I've done so.
> 
> 
> Diffs
> -----
> 
>   /branches/12/include/asterisk/res_pjsip.h 402063 
>   /branches/12/res/res_pjsip.c 402063 
>   /branches/12/res/res_pjsip/pjsip_configuration.c 402063 
>   /branches/12/res/res_pjsip_session.c 402063 
> 
> Diff: https://reviewboard.asterisk.org/r/2963/diff/
> 
> 
> Testing
> -------
> 
> Placed calls to a target with each option, confirmed that they work as expected.
> 
> 
> Thanks,
> 
> Joshua Colp
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20131031/421d978c/attachment.html>


More information about the asterisk-dev mailing list