Summary:ASTERISK-03543: Allow libpri to process Q931_IE_KEYPAD_FACILITY in state Q931_CALL_STATE_ACTIVE
Reporter:deti (deti)Labels:
Date Opened:2005-02-18 16:17:26.000-0600Date Closed:2005-03-02 11:18:58.000-0600
Versions:Frequency of
Environment:Attachments:( 0) libpri-keypad_facility_andotherstuff.diff
Description:With a couple of ISDN devices and PBXs (like Siemens HiCom) a "Keypad IE" is sent whenever a key is pressed instead of sending DTMF tones. Asterisk only expects such INFORMATION elements when expecting overlap digits i.e. before CONNECT, PROCEEDING etc). After that it expects digits as inline dtmf. This patch removes this restriction and passes Keypad IEs in Q931_CALL_STATE_ACTIVE


--- q931.c~     2005-02-16 18:21:33.907803750 +0100
+++ q931.c      2005-02-16 18:21:33.909803485 +0100
@@ -2877,8 +2877,7 @@

-               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);
Comments:By: Paul Cadach (pcadach) 2005-02-18 16:28:35.000-0600

Looks like double of ASTERISK-3542.

By: Olle Johansson (oej) 2005-02-18 16:36:07.000-0600

Please test if this is still a problem in a recent release, like 1.0.5 stable or CVS head. 1.0.4 is an old release.

Patches should be added as .txt files to the bug report and be disclaimed according to the bug guidelines.

Thank you for testing with new code so we know if this is still a problem.

By: petersv (petersv) 2005-02-19 05:25:11.000-0600

This change seems a bit off. We should not pass data from the CALLED_NUMBER IE when not in Q931_CALL_STATE_OVERLAP_RECEIVING. Only data in the KEYPAD IE should be passed.

Incidently, how is the KEYPAD IE received? The code in libpri seem not to handle the keypad IE at all today. Have you modified your libpri to accept it, or have I missed something?

By: Matthew Fredrickson (mattf) 2005-02-19 11:21:38.000-0600

I think I may have a basic implementation is done, but it's thrown into my big PRI patch with a lot of other changes (bug 3554).  I can't test it locally, but I'll throw a patch up.

By: deti (deti) 2005-02-19 11:22:40.000-0600

It's a bristuffed version (patch from http://www.junghanns.net/asterisk/downloads/)

By: Matthew Fredrickson (mattf) 2005-02-19 11:25:02.000-0600

I didn't see any receive function implemented for it, so I had to add one.  I also added a new event that is generated when it gets the digit, PRI_EVENT_KEYPAD_DIGIT

By: Matthew Fredrickson (mattf) 2005-02-21 15:18:17.000-0600

Any updates?

By: Matthew Fredrickson (mattf) 2005-03-02 10:08:29.000-0600

committed patch.

By: Matthew Fredrickson (mattf) 2005-03-02 10:09:28.000-0600

Patch committed, if there are any more problems, open a new bug.

By: Russell Bryant (russell) 2005-03-02 11:18:58.000-0600

not included in 1.0 since it is a new feature