[SOLVED] SIP endpoint CANCELS when ISDN sends cause code 31

We have an Asterisk server which connects to another Asterisk server acting as a PSTN gateway. This gateway machine has Digium TE210P card connected to a pair of PRIs.

For the most part, all is working well, however there are some specific telephone numbers that my users have attempted to call, but we unable to.

I set debugging on and determined that when the the gateway machine dials one of the numbers in question, we receive from the PSTN an ISDN cause code 31, which in my understanding is not an error. This is then passed back to the originating Asterisk server via IAX as progress. It is then sent to the originating endpoint as a sip message 183 ‘Session Progress’. 2 seconds after this 183 progress message is sent, the endpoint sends a SIP CANCEL message and the channel is torn down.

I have the prematuremedia=yes and progressinband=never in the sip.conf file which looks like it could be a solution, however I believe that because we are getting ISDN Call Proceeding and a corresponding SIP 100 Trying message that this setting has no effect.

I have tried from several different endpoint types with the same results. I have verified that the numbers in question are in fact operational.

Any suggestions?

Asterisk version is 1.8.7 on both hosts
Dahdi version 2.5.0
libpri version 1.4.12

Thanks,
Dale

Responding CANCEL to the 183 seems to be the problem here, not anything on the ISDN side.

David,

Thanks for the response.

I got the following from Richard Mudgett at Digium.

---- snip ----

You should upgrade Asterisk to at least v1.8.8. A regression in the
Asterisk v1.8.7 ./configure script does not setup Asterisk to use
libpri correctly. Most supplementary service features and a hangup fix
supported by that version of libpri do not get enabled.

---- snip ----

I installed 1.8.12.0 and that appears to have solved the problem. I still want to take a look at the debug logs to see the difference in the message exchanges, but for the moment I am simply happy to see the users can make the calls.

Dale