If the server supports translation of services as described in RFC 5031 it 
might have to support absolute URI. 

INVITE urn:service:sos

The clients can use this to get to an sos service without needing to know what 
the actual number is - 911 in the US, 100 in XYZ country etc

Regards,
Krish

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Iñaki Baz 
Castillo
Sent: Tuesday, February 03, 2009 3:27 AM
To: [email protected]
Subject: [Sip-implementors] Any usage of absoluteURI for a SIP server ?

Hi,RFC 3261 BNF section defines Request-URI as follows:

        Request-URI    =  SIP-URI / SIPS-URI / absoluteURI

While it's obvious doing a complete parsing of SIP and SIPS URI, I wonder how 
useful is parsing sctrictly an absolute URI. Note that absoluteURI contains a 
very complex grammar:

        absoluteURI    =  scheme ":" ( hier-part / opaque-part )
        hier-part      =  ( net-path / abs-path ) [ "?" query ]
        net-path       =  "//" authority [ abs-path ]
        abs-path       =  "/" path-segments
        opaque-part    =  uric-no-slash *uric
        uric           =  reserved / unreserved / escaped
        uric-no-slash  =  unreserved / escaped / ";" / "?" / ":" / "@"
                                        / "&" / "=" / "+" / "$" / ","
        path-segments  =  segment *( "/" segment )
        segment        =  *pchar *( ";" param )
        param          =  *pchar
        pchar          =  unreserved / escaped /
                                        ":" / "@" / "&" / "=" / "+" / "$" / ","
        scheme         =  ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
        authority      =  srvr / reg-name
        srvr           =  [ [ userinfo "@" ] hostport ]
        reg-name       =  1*( unreserved / escaped / "$" / ","
                                        / ";" / ":" / "@" / "&" / "=" / "+" )
        query          =  *uric


IMHO for a SIP server parsing an absoluteURI is not useful at all (I don't 
consider, of course, the case of a server implementing SIP and HTTP and/or 
other protocols).

So I wonder if would be possible to relax the absoluteURI grammar making 
it "faster" to parse, something like (not pure BNF):

        absoluteURI    =  scheme ":" 1*( any_char - ( "<" | ">" ) )
        scheme         =  ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

In this way, the SIP parser would detect the absoluteURI scheme and pass it to 
a higher application logic handling protocols more than SIP and SIPS.

Do you consider it correct? any dissadvantage? (Please, consider common cases 
implementing a normal SIP server).

Thanks a lot.


PD: I would also consider "tel" URI:

        Request-URI    =  SIP-URI / SIPS-URI / TEL-URI / absoluteURI


-- 
Iñaki Baz Castillo

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to