[OpenSIPS-Users] Does topology hiding match RFC3261?

Bogdan-Andrei Iancu bogdan at opensips.org
Tue Aug 21 11:26:58 EDT 2018


Hi Vasilev,

You have a good point here - the quoting should not be done and hexa 
escaping should be done for what's not allowed (including the  = sign). 
Could you please open a bug report on the OpenSIP tracker 
(https://github.com/OpenSIPS/opensips/issues) ?

Moving the value as hdr param (from URI param) is not an option, as the 
we need the value to be return in RURI (in sequential requests) - and 
only the Contact URI is returned, not the hdr params.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
   http://www.opensips-solutions.com
OpenSIPS Bootcamp 2018
   http://opensips.org/training/OpenSIPS_Bootcamp_2018/

On 08/21/2018 10:16 AM, vasilevalex wrote:
> Hello.
>
> OpenSIPS 2.4.2
>
> I use topology hiding module without dialog module. So it changes Contact
> URI, adding thinfo param (default).
> But it is added like this:
> Contact:
> <sip:[0:0:0:0:0:0:0:1]:8061;transport=wss;thinfo="U2h5YhUORg5uUBNZW1dIUAQadlZjRlFWUV0DBHJXRGgWBhZdBwxxSWRaTVBWXxgGcF9pXVNUVg==">
>
> I checked it with RFC3261
> https://tools.ietf.org/html/rfc3261#section-25.1
>
> Contact        =  ("Contact" / "m" ) HCOLON
>                    ( STAR / (contact-param *(COMMA contact-param)))
> contact-param  =  (name-addr / addr-spec) *(SEMI contact-params)
> name-addr      =  [ display-name ] LAQUOT addr-spec RAQUOT
> addr-spec      =  SIP-URI / SIPS-URI / absoluteURI
> display-name   =  *(token LWS)/ quoted-string
> SIP-URI          =  "sip:" [ userinfo ] hostport
>                      uri-parameters [ headers ]
> SIPS-URI         =  "sips:" [ userinfo ] hostport
>                      uri-parameters [ headers ]
> uri-parameters    =  *( ";" uri-parameter)
> uri-parameter     =  transport-param / user-param / method-param
>                       / ttl-param / maddr-param / lr-param / other-param
> other-param       =  pname [ "=" pvalue ]
> pname             =  1*paramchar
> pvalue            =  1*paramchar
> paramchar         =  param-unreserved / unreserved / escaped
> param-unreserved  =  "[" / "]" / "/" / ":" / "&" / "+" / "$"
> unreserved  =  alphanum / mark
>        mark        =  "-" / "_" / "." / "!" / "~" / "*" / "'"
>                       / "(" / ")"
>        escaped     =  "%" HEXDIG HEXDIG
> contact-params     =  c-p-q / c-p-expires
>                        / contact-extension
> c-p-q              =  "q" EQUAL qvalue
> c-p-expires        =  "expires" EQUAL delta-seconds
> contact-extension  =  generic-param
> generic-param  =  token [ EQUAL gen-value ]
> gen-value      =  token / host / quoted-string
> quoted-string  =  SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
> qdtext         =  LWS / %x21 / %x23-5B / %x5D-7E
>                          / UTF8-NONASCII
>
> So between LAQUOT and RAQUOT there is addr-spec. And according
> to RFC it can't contain  quoted-string, or even DQUOTE symbol.
> And can't contain EQUAL sign. Or they must be escaped.
> But if it is possible to move "thinfo" from Contact URI to Contact params,
> it can be quoted string, like it is now.
>
>
>
> --
> Sent from: http://opensips-open-sip-server.1449251.n2.nabble.com/OpenSIPS-Users-f1449235.html
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list