[libpri-commits] rmudgett: branch 1.4 r2175 - in /branches/1.4: pri.c q931.c
SVN commits to the libpri project
libpri-commits at lists.digium.com
Tue Dec 21 19:46:18 UTC 2010
Author: rmudgett
Date: Tue Dec 21 13:46:14 2010
New Revision: 2175
URL: http://svnview.digium.com/svn/libpri?view=rev&rev=2175
Log:
Invalid PTMP redirecting signaling as TE towards NT.
* The PTMP redirection signaling (NOTIFY redirection number and
notification code, SETUP redirecting number) is also sent in PTMP/TE mode.
It should only apply in PTMP/NT mode. The call setup proceeds but the
network (Deutsche Telekom) reacts with ugly ISDN STATUS messages.
* Don't send the redirecting number ie when PTP is also sending the
DivertingLegInformation2 facility. The redirecting number ie is redundant
and the network (Deutsche Telekom) complains about it.
JIRA LIBPRI-53
JIRA SWP-2543
Modified:
branches/1.4/pri.c
branches/1.4/q931.c
Modified: branches/1.4/pri.c
URL: http://svnview.digium.com/svn/libpri/branches/1.4/pri.c?view=diff&rev=2175&r1=2174&r2=2175
==============================================================================
--- branches/1.4/pri.c (original)
+++ branches/1.4/pri.c Tue Dec 21 13:46:14 2010
@@ -1159,9 +1159,18 @@
case PRI_SWITCH_EUROISDN_E1:
case PRI_SWITCH_EUROISDN_T1:
if (PTMP_MODE(ctrl)) {
- /* PTMP mode */
- q931_notify_redirection(ctrl, call, PRI_NOTIFY_CALL_DIVERTING,
- &call->redirecting.to.number);
+ if (NT_MODE(ctrl)) {
+ /*
+ * NT PTMP mode
+ *
+ * We should not send these messages to the network if we are
+ * the CPE side since phones do not redirect calls within
+ * themselves. Well... If you consider someone else picking up
+ * the handset a redirection then how is the network to know?
+ */
+ q931_notify_redirection(ctrl, call, PRI_NOTIFY_CALL_DIVERTING,
+ &call->redirecting.to.number);
+ }
break;
}
/* PTP mode - same behaviour as Q.SIG */
Modified: branches/1.4/q931.c
URL: http://svnview.digium.com/svn/libpri/branches/1.4/q931.c?view=diff&rev=2175&r1=2174&r2=2175
==============================================================================
--- branches/1.4/q931.c (original)
+++ branches/1.4/q931.c Tue Dec 21 13:46:14 2010
@@ -2099,6 +2099,23 @@
if (order > 1)
return 0;
if (!call->redirecting.from.number.valid) {
+ return 0;
+ }
+ if (BRI_TE_PTMP(ctrl)) {
+ /*
+ * We should not send this ie to the network if we are the TE
+ * PTMP side since phones do not redirect calls within
+ * themselves. Well... If you consider someone else dialing the
+ * handset a redirection then how is the network to know?
+ */
+ return 0;
+ }
+ if (call->redirecting.state != Q931_REDIRECTING_STATE_IDLE) {
+ /*
+ * There was a DivertingLegInformation2 in the message so the
+ * Q931_REDIRECTING_NUMBER ie is redundant. Some networks
+ * (Deutsche Telekom) complain about it.
+ */
return 0;
}
More information about the libpri-commits
mailing list