[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