<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://reviewboard.asterisk.org/r/2963/">https://reviewboard.asterisk.org/r/2963/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers.</div>
<div>By Joshua Colp.</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Placed calls to a target with each option, confirmed that they work as expected.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/branches/12/res/res_pjsip_session.c <span style="color: grey">(402063)</span></li>
<li>/branches/12/res/res_pjsip/pjsip_configuration.c <span style="color: grey">(402063)</span></li>
<li>/branches/12/res/res_pjsip.c <span style="color: grey">(402063)</span></li>
<li>/branches/12/include/asterisk/res_pjsip.h <span style="color: grey">(402063)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/2963/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>