<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/3447/">https://reviewboard.asterisk.org/r/3447/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On April 15th, 2014, 5:15 p.m. UTC, <b>Mark Michelson</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;">First off, I agree that anonymizing P-Asserted-Identity is not the correct way to be going here. The concept of trust is something that is not well-defined in chan_sip. The closest thing we currently have is the trustrpid option. When it is set, it means that we will actually use inbound Remote-Party-ID/P-Asserted-Identity headers as the identity of the entity that sent the SIP request/response to us.
In chan_pjsip, we have two trust-related options, trust_id_inbound and trust_id_outbound. trust_id_inbound is pretty much the same as chan_sip's trustrpid option. trust_id_outbound is a bit different. If set to yes, then we will send private identity information but include an indication that the information is private/restricted. In the case of P-Asserted-Identity, this means that the P-Asserted-Identity header is kept intact and a Privacy: id header is added. If trust_id_outbound is set to no, then we will send unrestricted identifying information, but anything marked as private/restricted does not get sent to the untrusted party at all.
Implementing an option similar to chan_pjsip's trust_id_outbound option is probably a good way to go. I think that it probably should default to off/false/no in all versions of Asterisk.</pre>
</blockquote>
<p>On April 15th, 2014, 5:43 p.m. UTC, <b>Jonathan Rose</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;">Alright, so if I'm interpreting you correctly here, what you are advocating is this:
* Add option trust_id_outbound (or similar name) to SIP peers
when on and sendrpid=pai, include P-Asserted-Identity with legitimate caller ID information as well as 'Privacy: id' header
when off and sendrpid=pai, don't bother with P-Asserted-Identity because the peer isn't a trusted party
Maybe I'm a little confused on that second part... What does it mean to send 'unrestricted identifying information' in the case when trust_id_outbound=no?</pre>
</blockquote>
<p>On April 15th, 2014, 6:20 p.m. UTC, <b>Mark Michelson</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 bullet point is correct, assuming that the information being sent is private/restricted. If the identify is not private/restricted, then the trust_id_outbound option has no bearing on what we send.
"What does it mean to send 'unrestricted identifying information' in the case when trust_id_outbound=no?"
When I say unrestricted identifying information, I basically mean private caller ID. I said it the other way because I generally don't like equating the content of P-Asserted-Identity to Caller ID, and the word "unrestricted" just means that it has no privacy or other restrictions applied. So when trust_id_outbound is set to no, then if the caller ID is not private, then we'll go ahead and send it.</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;">This was also already discussed (with various patch attempts) in https://issues.asterisk.org/jira/browse/ASTERISK-19465 (can you link it?).
What Mark says is this, and that looks sound to me.
| pres=allowed | pres=prohibited |
----------------------+-------------------------+-----------------------+
trust_id_outbound=no | PAI: 123, Privacy: none | |
----------------------+-------------------------+-----------------------+
trust_id_outbound=yes | PAI: 123, Privacy: none | PAI: 123, Privacy: id |
----------------------+-------------------------+-----------------------+
Note that you'd want to apply this same behaviour to sendrpid=rpid for consistency, at least in trunk.</pre>
<br />
<p>- wdoekes</p>
<br />
<p>On April 15th, 2014, 4:52 p.m. UTC, Jonathan Rose 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, Joshua Colp, Matt Jordan, Mark Michelson, and wdoekes.</div>
<div>By Jonathan Rose.</div>
<p style="color: grey;"><i>Updated April 15, 2014, 4:52 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/AST-1301">AST-1301</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;">Walter Doekes pointed out that this might cause a less than ideal situation in which people who were expecting P-Asserted-Identity not to disclose party information will now be sending privacy information, so I pulled this patch from 1.8-trunk and we will now review it here.
Without this patch, P-Asserted-Identity would always use anonymous for the caller ID information, and RFC-3325 seems to indicate that P-Asserted-Identity is something that should not be anonymized, but also only sent to trusted parties. The way this was presented to me, the intent here is that if you set callerpres to prohibited for a peer that receives P-Asserted-Identity, the P-Asserted-Identity shouldn't be anonymized, only the normal From/Contact headers would be anonymized. This apparently
The obvious method for dealing with this mid-release change is to make the change into an option which defaults off in 1.8-12 while defaulting on in trunk. Also I'll need to add Upgrade notes for trunk since this might not always be a desired behavior as well as CHANGES notes throughout to indicate the new option if that's what we settle on.</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;">Call from SIP peer A to SIP peer B
settings for both peers:
sendrpid = pai
callerpres = prohib
Invite sent from Asterisk to the recipient of the call
------------------------------------------------------
Prior to patch:
Audio is at 19640
Adding codec 0x4 (ulaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 10.24.18.240:5060:
INVITE sip:123@10.24.18.240:5060 SIP/2.0
Via: SIP/2.0/UDP 10.24.18.246:5060;branch=z9hG4bK2fb42910;rport
Max-Forwards: 70
From: "Anonymous" <sip:anonymous@anonymous.invalid>;tag=as13075548
To: <sip:123@10.24.18.240:5060>
Contact: <sip:anonymous@10.24.18.246:5060>
Call-ID: 762b8a5e5848d7997f38f71a770d4dd9@10.24.18.246:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX SVN-branch-1.8-r410380
Date: Tue, 11 Mar 2014 22:59:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
P-Asserted-Identity: "Anonymous" <sip:anonymous@anonymous.invalid>
Content-Type: application/sdp
Content-Length: 276
v=0
o=root 473543868 473543868 IN IP4 10.24.18.246
s=Asterisk PBX SVN-branch-1.8-r410380
c=IN IP4 10.24.18.246
t=0 0
m=audio 19640 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
After patch:
Audio is at 11822
Adding codec 0x4 (ulaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 10.24.18.240:5060:
INVITE sip:123@10.24.18.240:5060 SIP/2.0
Via: SIP/2.0/UDP 10.24.18.246:5060;branch=z9hG4bK5d4a7db8;rport
Max-Forwards: 70
From: "Anonymous" <sip:anonymous@anonymous.invalid>;tag=as181a14e3
To: <sip:123@10.24.18.240:5060>
Contact: <sip:anonymous@10.24.18.246:5060>
Call-ID: 721bef28208f7633288e929c6e88824e@10.24.18.246:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX SVN-branch-1.8-r410380M
Date: Tue, 11 Mar 2014 22:57:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
P-Asserted-Identity: "Goldy Locks" <sip:6018@10.24.18.246>
Privacy: id
Content-Type: application/sdp
Content-Length: 279
v=0
o=root 1606369071 1606369071 IN IP4 10.24.18.246
s=Asterisk PBX SVN-branch-1.8-r410380M
c=IN IP4 10.24.18.246
t=0 0
m=audio 11822 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv</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/1.8/configs/sip.conf.sample <span style="color: grey">(412331)</span></li>
<li>/branches/1.8/channels/chan_sip.c <span style="color: grey">(412331)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/3447/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>