Olle E. Johansson wrote:
On 07 Jan 2014, at 15:55, SVN commits to the Digium
repositories<[email protected]>  wrote:

if (endpoint->nat.rewrite_contact&&  (contact =
pjsip_msg_find_hdr(rdata->msg_info.msg, PJSIP_H_CONTACT, NULL))&& -
(PJSIP_URI_SCHEME_IS_SIP(contact->uri) ||
PJSIP_URI_SCHEME_IS_SIPS(contact->uri))) { +         !contact->star&&
(PJSIP_URI_SCHEME_IS_SIP(contact->uri) ||
PJSIP_URI_SCHEME_IS_SIPS(contact->uri))) { pjsip_sip_uri *uri =
pjsip_uri_get_uri(contact->uri);

pj_cstr(&uri->host, rdata->pkt_info.src_name);


Seems like this code assumes that SIP only have SIP: and SIPS: as
URI's. We should actually be quite transparent in the schemas
supported - especially proxys but also b2bua's like Asterisk. Tel:
uri's are not unknown. In the security area we are discussing
improved end-2-end security which may end up using a new SIP uri.

Hrm, I've been trying to think of the best place to express this information but I'm coming up empty. I'm not sure it's something for the config documentation, maybe more the wiki.

Instead of testing with two functions for two classes of schemas a
table could be used? That would be more extensible. And please
implement tel: support :-)

The code above stems from PJSIP itself and is used to determine what structure PJSIP has used to store the parsed URI for manipulation. I'm not sure a table would buy us anything in this area. As a developer you would still need to know what structure was used and what it looks like.

Cheers,

--
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to