[Asterisk-Users] [patch] fix libpri problem in Q931_INFORMATION
handling
Peter Svensson
psvasterisk at psv.nu
Wed Feb 16 15:07:02 MST 2005
On Wed, 16 Feb 2005, Deti Fliegl wrote:
> I tried to use Voicemail from a PRI interface but it didn't work because
> pressing a key on the ISDN phone just caused Q931_IE_KEYPAD_FACILITY
> messages which are normally handled by a bri-stuffed libpri.
> Unfortunately a wrong if condition stops keypad messages from being
> passed to the channel driver. The patch attached to this mail removes
> the 2 lines from the code.
>
> --- q931.c~ 2005-02-16 18:21:33.907803750 +0100
> +++ q931.c 2005-02-16 18:21:33.909803485 +0100
> @@ -2877,8 +2877,7 @@
>
> q931_release_complete(pri,c,PRI_CAUSE_INVALID_CALL_REFERENCE);
> break;
> }
> - if (c->ourcallstate!=Q931_CALL_STATE_OVERLAP_RECEIVING)
> - break;
> +
> pri->ev.e = PRI_EVENT_INFO_RECEIVED;
> pri->ev.ring.call = c;
> pri->ev.ring.channel = c->channelno | (c->ds1no << 8);
What is c->ourcallstate set to at this time? Can you provide a debug log
(pri intense debug span xxx) of the call?
Asterisk only expects INFORMATION elements when expecting overlap digits
(i.e. before CONNECT, PROCEEDING etc). After that it expects digits as
inline dtmf.
According to Q.931 called party address IEs in the INFORMATION message
should only be sent during overlap digit transmission, which ends when
PROCEEDING is sent.
Peter
More information about the asterisk-users
mailing list