[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:29:57 CDT 2014


    [ https://issues.asterisk.org/jira/browse/PRI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=220569#comment-220569 ] 

Richard Mudgett commented on PRI-173:
-------------------------------------

Inline patches cannot be accepted even for simple ones.  After signing a license agreement if you haven't done so before, please attach your patch in diff -u format and mark it as a contribution to the issue.

> 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
> {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].



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



More information about the asterisk-bugs mailing list