[asterisk-dev] PRI issue

Matthew Fredrickson creslin at digium.com
Fri Jan 11 10:49:19 CST 2008

astdev at notleyc.fastmail.fm wrote:
> Hi there,
> I have been making progress over the last few months connecting an
> Asterisk 1.4 server to a Siemens HiPath 4000 switch via ISDN PRI.
> I'm using a TE120P card configured for qsig.  I managed to get Siemens
> to alter the configuration of the switch with the result that caller ID
> numbers and names are being transferred successfully from Asterisk to
> the HiPath; however I am encountering a problem successfully terminating
> calls.  The problems only occur if the extension number called from
> Asterisk happens to be forwarded on the HiPath.  If I dial an extension
> that is not forwarded on the HiPath, the call completes successfully,
> but all forwarded extensions fail to ring and I always see the same
> symptoms.
> With intense PRI debugging enabled I see output similar to that below
> when this happens:
> Length (123) of 0x30 component is too long (the length varies depending
> on the caller ID name associated with the forwarded extension).
> There are a bunch of other 'Unable to handle ROSE operation ???' errors,
> but I see those whether or not I dial a forwarded extension.
> I saw a patch specifically mentioning indefinite ASN1 lengths
> (http://svn.digium.com/view/libpri/branches/1.4/pri_facility.c?view=log
> - number 209); however I've been unable to apply the patch to version
> 1.4.3 of libpri.  Apologies if I'm sounding really stupid here, but I'd
> appreciate any help applying the patch.

I think one reason you might be having trouble is that the patch is 
already in 1.4.3.  It was merged into libpri over a year and half before 
1.4.0 was released. :-)

Just as a word of caution, the Q.SIG support in libpri is limited, and 
only supports just a few features, like calling name transport, 
DivertingLegInformation2 receiving, and maybe one or two other minor 
features.  Most of those 'Unable to handle ROSE operation' errors are 
simply libpri's way of saying that the other end is sending some Q.SIG 
specific information or invoking a feature that it doesn't support parsing.

With regards to your forwarding problem, you need to post a pri debug of 
the call as it happens and forwards in order to help you further.  Oh, 
and also post a non forwarded successful call as well so that there is a 
base line reference of it when it works.

Matthew Fredrickson
Software/Firmware Engineer
Digium, Inc.

More information about the asterisk-dev mailing list