[asterisk-bugs] [JIRA] (PRI-173) libpri does not handle keypad facility IE in overlap mode

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Tue Jul 15 10:31:56 CDT 2014


     [ https://issues.asterisk.org/jira/browse/PRI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Mudgett updated PRI-173:
--------------------------------

    Description: 
libpri does not handle keypad facility IE (44) in overlap mode so it is impossible to dial service codes ("numbers" beginning with star (\*) or hash (#)), see [^full_pri_debug-1.txt].

In q931.c#post_handle_q931_message() when a Q931_INFORMATION message was received a PRI_EVENT_KEYPAD_DIGIT is fired only if call state is *not* Q931_CALL_STATE_OVERLAP_RECEIVING.

According to the Q.931 specification "Either the Called party number or the Keypad facility information element is included by the user to transfer called party number information to the network during overlap sending".

This was also discussed here: http://forums.digium.com/viewtopic.php?p=156228

With the following patch

Edit: Removed inline patch.  Richard Mudgett

dialing service code works, see [^full_pri_debug-2.txt].


  was:
libpri does not handle keypad facility IE (44) in overlap mode so it is impossible to dial service codes ("numbers" beginning with star (\*) or hash (#)), see [^full_pri_debug-1.txt].

In q931.c#post_handle_q931_message() when a Q931_INFORMATION message was received a PRI_EVENT_KEYPAD_DIGIT is fired only if call state is *not* Q931_CALL_STATE_OVERLAP_RECEIVING.

According to the Q.931 specification "Either the Called party number or the Keypad facility information element is included by the user to transfer called party number information to the network during overlap sending".

This was also discussed here: http://forums.digium.com/viewtopic.php?p=156228

With the following patch

{noformat}
diff -rup libpri-1.4.15.orig/q931.c libpri-1.4.15/q931.c
--- libpri-1.4.15.orig/q931.c   2014-05-13 00:45:13.000000000 +0200
+++ libpri-1.4.15/q931.c        2014-07-15 13:00:00.163751608 +0200
@@ -9170,7 +9170,7 @@ static int post_handle_q931_message(stru
                        q931_release_complete(ctrl, c, newcall_rel_comp_cause(c));
                        break;
                }
-               if (c->ourcallstate != Q931_CALL_STATE_OVERLAP_RECEIVING) {
+               if (strlen(c->keypad_digits)) {
                        ctrl->ev.e = PRI_EVENT_KEYPAD_DIGIT;
                        ctrl->ev.digit.subcmds = &ctrl->subcmds;
                        ctrl->ev.digit.call = c->master_call;
{noformat}

dialing service code works, see [^full_pri_debug-2.txt].



> libpri does not handle keypad facility IE in overlap mode
> ---------------------------------------------------------
>
>                 Key: PRI-173
>                 URL: https://issues.asterisk.org/jira/browse/PRI-173
>             Project: LibPRI
>          Issue Type: Bug
>      Security Level: None
>         Environment: asterisk 11.11.0, libpri-1.4.15, Digium B410P
> Span 1 in NT mode, ISDN telephone connected
>            Reporter: Gerald Schnabel
>            Assignee: Richard Mudgett
>         Attachments: full_pri_debug-1.txt, full_pri_debug-2.txt
>
>
> libpri does not handle keypad facility IE (44) in overlap mode so it is impossible to dial service codes ("numbers" beginning with star (\*) or hash (#)), see [^full_pri_debug-1.txt].
> In q931.c#post_handle_q931_message() when a Q931_INFORMATION message was received a PRI_EVENT_KEYPAD_DIGIT is fired only if call state is *not* Q931_CALL_STATE_OVERLAP_RECEIVING.
> According to the Q.931 specification "Either the Called party number or the Keypad facility information element is included by the user to transfer called party number information to the network during overlap sending".
> This was also discussed here: http://forums.digium.com/viewtopic.php?p=156228
> With the following patch
> Edit: Removed inline patch.  Richard Mudgett
> dialing service code works, see [^full_pri_debug-2.txt].



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list