OpenSIPS / opensips

OpenSIPS is a GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (performance, security and quality) to be used in professional SIP server platforms.
https://opensips.org
Other
1.28k stars 581 forks source link

[FEATURE] support for Location Number ISUP parameter #2456

Open engr-muzammil opened 3 years ago

engr-muzammil commented 3 years ago

{ISUP_PARM_LOCATION_NUMBER, str_init("Location Number"), NULL, NULL, NULL, NULL, 0},

rvlad-patrascu commented 3 years ago

Hi @engr-muzammil

Please follow the issue template and add a proper description.

waseemhzaidi commented 3 years ago

We tried to use OpenSIPS SIP-I to extract ISUP from incoming calls, we were able to extract ISUP parameters in SDP body as:

xlog("Called Number: $isup_param_str(Called Party Number|Address signal)\r\n"); xlog("Calling Number: $isup_param_str(Calling Party Number|Address signal)\r\n"); xlog("Location is: $isup_param_str(Location Number)\r\n");

Location parameter is appearing as 0x04971400330268 which is wrongly interpreted. its proper interpretation should appear as 4100332086.

I also tried below: xlog("Location is: $isup_param_str(Location Number|Address signal)\r\n"); but this subfield is not present.

The transformation $var(isup_body){isup.param, Location Number}) also didn't make any difference.

rvlad-patrascu commented 3 years ago

The "Location Number" ISUP parameter is not fully supported (i.e. parsing and accessing specific subfields) and this is why you only get a hex string representation of the entire parameter (which contains more subfields besides the actual number itself). You can find the list of fully supported parameters here.

Nevertheless you can obtain the correct number by doing the parsing yourself in the OpenSIPS script, either from:

I will mark this issue as a feature request (for full support of Location Number).

engr-muzammil commented 3 years ago

any update on this feature