<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/3349/">https://reviewboard.asterisk.org/r/3349/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 22nd, 2014, 3:39 p.m. UTC, <b>Olle E Johansson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't see what happens with the phone-context argument. Shouldn't we pass that on as a channel variable? </pre>
 </blockquote>




 <p>On March 22nd, 2014, 8:23 p.m. UTC, <b>Geert Van Pamel</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">We return this into the hostport.</pre>
 </blockquote>





 <p>On March 22nd, 2014, 9:01 p.m. UTC, <b>Geert Van Pamel</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">According to RFC 3966 phone-context is either a domain-name, or (part of) an international telephone number (indicated with +prefix).
It is used by a gateway to know how to dial the "local" number... the local number must be unique within its context...</pre>
 </blockquote>





 <p>On March 23rd, 2014, 5 p.m. UTC, <b>Olle E Johansson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So it ends up in the SIPDOMAIN variable in the dial plan? It has to be reachable in the dial plan somehow. </pre>
 </blockquote>





 <p>On March 23rd, 2014, 9:12 p.m. UTC, <b>Geert Van Pamel</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The variable ${SIPDOMAIN} contains the local IP address of the Asterisk server.
The userinfo arrives in ${CALLERID} and is displayed on the display of the called device, and arrives in the CDR file.
Actually I do not know into which variable the incoming hostport info is copied to?
Could somebody else answer this question?</pre>
 </blockquote>





 <p>On March 24th, 2014, 7:05 a.m. UTC, <b>Olle E Johansson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">If I place a normal call to sip:geert@example.com to my Asterisk server. "geert" will be the extension I'm looking for, "example.com" ends up in SIPDOMAIN. It's not the local IP address, it's the domain/host part of the request URI in the INVITE.

I would prefer if phone context ended up in TELPHONECONTEXT so I could use it the same way as SIPDOMAIN in the dial plan. It should not end up in SIPDOMAIN as it is not a SIP uri. That way an extension in a local context can be routed differently than an extension in a global context.</pre>
 </blockquote>





 <p>On March 24th, 2014, 9:24 a.m. UTC, <b>Olle E Johansson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just to make sure it's documented: The phone-context should NOT be matched to a context in the dial plan. From a security standpoint, that would be horrific. We need the information to be able to route correctly in the dial plan, but no automatic selection. (I am not suggesting you where going down that path, Geert. Just wanted to close that way of thinking since the word "context" could lead there.)</pre>
 </blockquote>





 <p>On March 24th, 2014, 10:32 a.m. UTC, <b>Geert Van Pamel</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So I understand that Olle proposes to create a new variable ${TELPHONECONTEXT} that contains the TEL URI phone-context which can be either the global number, or a global number prefix, or the related routing domain or any other unique routing identifier, or would be empty in case there is just a local number (as specified in RFC 3966).

Currently this variable is not available yet in Asterisk. In the dialplan treating incoming calls currently I do not use nor do not need this information, as the local number in ${CALLERID} is sufficient (for the time being)... Still this phone context identifier could be needed for subsequent outgoing calls (return calls, callbacks, etc.). 

I agree that ${SIPDOMAIN} will remain reserved for SIP invites, and is untouched for TEL URI invites.

I perfectly understand that this TEL URI context has nothing to do with dialplan context.

Who could us further advise how to create the new variable ${TELPHONECONTEXT} ?</pre>
 </blockquote>





 <p>On March 24th, 2014, 10:39 a.m. UTC, <b>Olle E Johansson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just grep for SIPDOMAIN in the chan_sip source code :-)</pre>
 </blockquote>





 <p>On March 28th, 2014, 4:14 a.m. UTC, <b>Matt Jordan</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So I'd hate for this patch to stall out on the channel variable - which would be a very helpful addition but is not strictly necessary for Geert's functionality.

Olle - what do you think if this goes in as is, and we add the TELPHONECONTEXT channel variable in a subsequent patch? It should be relatively trivial, and I don't mind helping Geert with that work (so long as Geert is willing to test said patch, as I don't have anything that emulates tel URIs handy).

Geert - what do you think?</pre>
 </blockquote>





 <p>On March 28th, 2014, 4:53 p.m. UTC, <b>Geert Van Pamel</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Matt, I agree with you... the variable ${TELPHONECONTEXT} is indeed not needed for TEL URI INVITE to work. Actually, I a uncertain how to implement this variable. If anybody else can code the variable later, I am willing to test it...</pre>
 </blockquote>





 <p>On March 28th, 2014, 5:37 p.m. UTC, <b>Matt Jordan</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Geert - I can take a look at adding that variable in a subsequent patch. I'll definitely need you to test it!

I'll confirm with Olle that he's okay with this - if so, we'll get this committed.</pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">That's a negative:

14:26 < wdoekes> whether we can ship it without the TELURICONTEXT var
14:26 <@oej> Did they get the channel variable?
14:26 < wdoekes> for another rainy day, it was said
14:28 <@oej> Why is that? Only sending incomplete information to the dialplan is not a good implementation.
14:28 <@oej> It's a simple change, nothing much to discuss. Many examples in the source code of chan_sip....
14:29 <@oej> I guess I should have discussed this with Matt last week.
14:30 < wdoekes> not sure it's that trivial, since the info has to get out of the parser functions: a bit of refactoring
14:31 <@oej> It can't be that hard. Ignoring it would be bad and an issue report is on the mail in a very nearby future
14:31 <@oej> The phone context is an important part of the URI
</pre>
<br />










<p>- wdoekes</p>


<br />
<p>On March 22nd, 2014, 1:08 p.m. UTC, Geert Van Pamel wrote:</p>








<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.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers, Corey Farrell, lmadensen, Matt Jordan, and wdoekes.</div>
<div>By Geert Van Pamel.</div>


<p style="color: grey;"><i>Updated March 22, 2014, 1:08 p.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-17179">ASTERISK-17179</a>


</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;">Implements RFC-3966 TEL URI incoming INVITE.

See https://issues.asterisk.org/jira/browse/ASTERISK-17179 for a description of the original isssue.

I have been patching all versions since Asterisk 1.6. I would like to include the code into the main trunk for version 13.

Previously Asterisk was failing with error on incoming IMS call:

Nov 13 17:52:05 NOTICE[27459]: chan_sip.c:6973 check_user_full: From address missing 'sip:', using it anyway

Nov 13 17:52:05 WARNING[27459]: chan_sip.c:6525 get_destination: Huh? Not a SIP header (tel:0987654321;phone-context=+32987654321)?

Reason: tel: protocol was not recognized.</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;">Executed an incoming TEL URI INVITE connection.
CLI was present on the display and in the CDR file.
No errors on SIP debug output.
</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>/trunk/channels/sip/reqresp_parser.c <span style="color: grey">(410429)</span></li>

 <li>/trunk/channels/chan_sip.c <span style="color: grey">(410429)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3349/diff/" style="margin-left: 3em;">View Diff</a></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>

<ul>

 <li><a href="https://reviewboard.asterisk.org/media/uploaded/files/2014/03/13/cad7a996-88c1-47fe-a2a9-cc6987af3b75__rfc-3966-tel-uri-patch-diff.txt">RFC-3966 tel URI patch</a></li>

</ul>





  </td>
 </tr>
</table>








  </div>
 </body>
</html>