Summary:ASTERISK-09462: RDNIS not properly decoded
Reporter:raarts (raarts)Labels:
Date Opened:2007-05-17 05:09:10Date Closed:2007-06-21 14:11:45
Versions:Frequency of
Environment:Attachments:( 0) libpri-rdnis-problem.txt
( 1) libpri-rose.patch

I am trying to setup redirection services using RDNIS.
Our telco sends the RDNIS value as shown in the attached trace.

What did I do? From the number 020694xxxx I dialed my cellphone
(0653000009). On my cellphone I didn't take the call, but pressed
the hangup button. This redirected the call to 20562xxxx, our
asterisk server. On the asterisk server I would expect to be
able to retrieve my cellphone number in CALLERIDNUM(rdnis). But
it is empty.

In the PRI debug output my cellphone number *is* present though,
as can be seen in the attached trace.

The libpri dump function throws me the following error:

1 -- Processing IE 28 (cs0, Facility)
1 Handle Q.932 ROSE Invoke component
1 Length (51) of 0x35 component is too long
1 !! Invalid DivertingLegInformation2 component received 0x35

I labeled this problem as major because servicing redirected
calls is 50% of our business model.


Note I scrambled some phonenumbers in the trace for my privacy.
Comments:By: Matthew Fredrickson (mattf) 2007-05-17 13:25:12

It looks like your telco is sending a parameter in the DivertingLegInformation2 APDU that libpri doesn't support.

By: raarts (raarts) 2007-05-17 15:00:49

Okay, I am willing to try to get it supported.

The only thing I found on the net was this:

divertingLegInformation2? Communicates diversion information from the forwarded phone to the forward target while the call diversion is being processed.

The divertingLegInformation2 APDU contains the following fields:

diversionCounter?Indicates the number of times that the call has been previously diverted, to minimize the effect of call forwarding loops.

diversionReason?Indicates why the diversion occurred.

originalDiversionReason?In the case of multiple diversions, indicates why the original called party diverted the call.

divertingNr?Indicates the number of the device that diverted the call.

originalDivertingNr?In the case of multiple diversions, indicates the number associated with the original target of the call.

redirectingName?Indicates the display name associated with the diverting user.

redirectingName?In the case of multiple diversions, indicates the display name associated with the original target of the call.

I presume some of these fields aren't supported yet. Can you point me to some docs?

By: Matthew Fredrickson (mattf) 2007-06-07 14:05:39

That debug looks like it is from bristuff.... is that what you are using?

By: raarts (raarts) 2007-06-10 08:27:29

Yes I am.

By: raarts (raarts) 2007-06-10 11:03:48

This fixes the problem for me.
But it fixes it on a libpri patched with bristuff.
The official libpri-1.2.4 did not even come this far.
So please close this bug, sorry I've bothered you with it.