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

_______________________________________________
Asterisk-Users mailing list
Asterisk-Users@lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to