[svn-commits] rmudgett: branch 1.4 r1018 - /branches/1.4/q931.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Aug 25 11:49:09 CDT 2009


Author: rmudgett
Date: Tue Aug 25 11:49:07 2009
New Revision: 1018

URL: http://svn.asterisk.org/svn-view/libpri?view=rev&rev=1018
Log:
Fix ie ordering in some ie lists for send_message().

Modified:
    branches/1.4/q931.c

Modified: branches/1.4/q931.c
URL: http://svn.asterisk.org/svn-view/libpri/branches/1.4/q931.c?view=diff&rev=1018&r1=1017&r2=1018
==============================================================================
--- branches/1.4/q931.c (original)
+++ branches/1.4/q931.c Tue Aug 25 11:49:07 2009
@@ -3262,6 +3262,21 @@
 	return 0;
 }
 
+/*!
+ * \internal
+ * \brief Build and send the requested message.
+ *
+ * \param ctrl D channel controller.
+ * \param call Q.931 call leg
+ * \param msgtype Q.931 message type to build.
+ * \param ies List of ie's to put in the message.
+ *
+ * \note The ie's in the ie list must be in numerical order.
+ * See Q.931 section 4.5.1 coding rules.
+ *
+ * \retval 0 on success.
+ * \retval -1 on error.
+ */
 static int send_message(struct pri *ctrl, q931_call *call, int msgtype, int ies[])
 {
 	unsigned char buf[1024];
@@ -3449,7 +3464,7 @@
 #ifdef ALERTING_NO_PROGRESS
 static int call_progress_ies[] = { -1 };
 #else
-static int call_progress_with_cause_ies[] = { Q931_PROGRESS_INDICATOR, Q931_CAUSE, -1 };
+static int call_progress_with_cause_ies[] = { Q931_CAUSE, Q931_PROGRESS_INDICATOR, -1 };
 
 static int call_progress_ies[] = { Q931_PROGRESS_INDICATOR, -1 };
 #endif
@@ -3530,7 +3545,7 @@
 	return send_message(ctrl, c, Q931_CALL_PROCEEDING, call_proceeding_ies);
 }
 #ifndef ALERTING_NO_PROGRESS
-static int alerting_ies[] = { Q931_PROGRESS_INDICATOR, Q931_IE_USER_USER, Q931_IE_FACILITY, -1 };
+static int alerting_ies[] = { Q931_IE_FACILITY, Q931_PROGRESS_INDICATOR, Q931_IE_USER_USER, -1 };
 #else
 static int alerting_ies[] = { Q931_IE_FACILITY, -1 };
 #endif
@@ -3563,7 +3578,7 @@
 	return send_message(ctrl, c, Q931_ALERTING, alerting_ies);
 }
 
-static int connect_ies[] = {  Q931_CHANNEL_IDENT, Q931_PROGRESS_INDICATOR, Q931_IE_CONNECTED_NUM, Q931_IE_FACILITY, -1 };
+static int setup_ack_ies[] = { Q931_CHANNEL_IDENT, Q931_IE_FACILITY, Q931_PROGRESS_INDICATOR, Q931_IE_CONNECTED_NUM, -1 };
  
 int q931_setup_ack(struct pri *ctrl, q931_call *c, int channel, int nonisdn)
 {
@@ -3583,7 +3598,7 @@
 	UPDATE_OURCALLSTATE(ctrl, c, Q931_CALL_STATE_OVERLAP_RECEIVING);
 	c->peercallstate = Q931_CALL_STATE_OVERLAP_SENDING;
 	c->alive = 1;
-	return send_message(ctrl, c, Q931_SETUP_ACKNOWLEDGE, connect_ies);
+	return send_message(ctrl, c, Q931_SETUP_ACKNOWLEDGE, setup_ack_ies);
 }
 
 /* T313 expiry, first time */
@@ -3644,6 +3659,8 @@
 	c->alive = 1;
 	q931_release(ctrl, c, PRI_CAUSE_NORMAL_CLEARING);
 }
+
+static int connect_ies[] = { Q931_CHANNEL_IDENT, Q931_IE_FACILITY, Q931_PROGRESS_INDICATOR, Q931_IE_CONNECTED_NUM, -1 };
 
 int q931_connect(struct pri *ctrl, q931_call *c, int channel, int nonisdn)
 {




More information about the svn-commits mailing list