[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