Hi,

We want to add support for parsing messages defined as per following
requirement from 3GPP TS 23.003 specification.

 

"

The public service identity shall take the form of either a SIP URI (see
IETF RFC 3261 [26]) or a Tel URI (see IETF RFC 3966 [45]). A public service
identity identifies a service, or a specific resource created for a service
on an application server. The domain part is pre-defined by the IMS
operators and the IMS system provides the flexibility to dynamically create
the user part of the PSIs. The public service identity shall take the form
of either a SIP URI (see IETF RFC 3261 [26]) or a Tel URI (see IETF RFC 3966
[45]). A public service identity identifies a service, or a specific
resource created for a service on an application server. The domain part is
pre-defined by the IMS operators and the IMS system provides the flexibility
to dynamically create the user part of the PSIs.

 

Example: The following PSI could be stored in the HSS -
"sip:[email protected]".

"

As per the above statements, the same example there would hold true for tel
uri too. Such as:

tel:[email protected]

 

But after referring to the ABNF defined by RFC-3966 I believe the same is
not supported.

telephone-uri        = "tel:" telephone-subscriber

   telephone-subscriber = global-number / local-number

   global-number        = global-number-digits *par

   local-number         = local-number-digits *par context *par

   par                  = parameter / extension / isdn-subaddress

   isdn-subaddress      = ";isub=" 1*uric

   extension            = ";ext=" 1*phonedigit

   context              = ";phone-context=" descriptor

   descriptor           = domainname / global-number-digits

   global-number-digits = "+" *phonedigit DIGIT *phonedigit

   local-number-digits  =

      *phonedigit-hex (HEXDIG / "*" / "#")*phonedigit-hex

   domainname           = *( domainlabel "." ) toplabel [ "." ]

   domainlabel          = alphanum

                          / alphanum *( alphanum / "-" ) alphanum

   toplabel             = ALPHA / ALPHA *( alphanum / "-" ) alphanum

   parameter            = ";" pname ["=" pvalue ]

   pname                = 1*( alphanum / "-" )

   pvalue               = 1*paramchar

   paramchar            = param-unreserved / unreserved / pct-encoded

   unreserved           = alphanum / mark

   mark                 = "-" / "_" / "." / "!" / "~" / "*" /

                          "'" / "(" / ")"

 

Please let me know if I am missing something here. Thanks!

 

Regards,

Harbhanu

 

 

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

Reply via email to