[libpri-commits] dvossel: branch dvossel/aoc_send r1575 - /team/dvossel/aoc_send/
SVN commits to the libpri project
libpri-commits at lists.digium.com
Thu Apr 8 16:18:08 CDT 2010
Author: dvossel
Date: Thu Apr 8 16:18:06 2010
New Revision: 1575
URL: http://svnview.digium.com/svn/libpri?view=rev&rev=1575
Log:
send AOC-E only on disconnect or release
Modified:
team/dvossel/aoc_send/libpri.h
team/dvossel/aoc_send/pri_aoc.c
Modified: team/dvossel/aoc_send/libpri.h
URL: http://svnview.digium.com/svn/libpri/team/dvossel/aoc_send/libpri.h?view=diff&rev=1575&r1=1574&r2=1575
==============================================================================
--- team/dvossel/aoc_send/libpri.h (original)
+++ team/dvossel/aoc_send/libpri.h Thu Apr 8 16:18:06 2010
@@ -1536,8 +1536,8 @@
/* Send AOC-D message */
int pri_aoc_d_send(struct pri *ctrl, q931_call *c, const struct pri_subcmd_aoc_d *aoc_d);
-/* Send AOC-E message */
-int pri_aoc_e_send(struct pri *ctrl, q931_call *c, const struct pri_subcmd_aoc_e *aoc_e);
+/* Send AOC-E message. set on_release to queue on Q931 Release msg, other wise it is queued on Q931 Disconnect */
+int pri_aoc_e_send(struct pri *ctrl, q931_call *c, const struct pri_subcmd_aoc_e *aoc_e, int on_release);
#define PRI_GR303_SUPPORT
#define PRI_ENSLAVE_SUPPORT
Modified: team/dvossel/aoc_send/pri_aoc.c
URL: http://svnview.digium.com/svn/libpri/team/dvossel/aoc_send/pri_aoc.c?view=diff&rev=1575&r1=1574&r2=1575
==============================================================================
--- team/dvossel/aoc_send/pri_aoc.c (original)
+++ team/dvossel/aoc_send/pri_aoc.c Thu Apr 8 16:18:06 2010
@@ -1483,7 +1483,7 @@
* \retval 0 on success.
* \retval -1 on error.
*/
-static int aoc_aoce_encode(struct pri *ctrl, q931_call *call, const struct pri_subcmd_aoc_e *aoc_e)
+static int aoc_aoce_encode(struct pri *ctrl, q931_call *call, const struct pri_subcmd_aoc_e *aoc_e, int msgtype)
{
unsigned char buffer[255];
unsigned char *end = 0;
@@ -1504,10 +1504,7 @@
return -1;
}
- /* Remember that if we queue a facility IE for a facility message we
- * have to explicitly send the facility message ourselves */
- if (pri_call_apdu_queue(call, Q931_FACILITY, buffer, end - buffer, NULL)
- || q931_facility(call->pri, call)) {
+ if (pri_call_apdu_queue(call, msgtype, buffer, end - buffer, NULL)) {
pri_message(ctrl, "Could not schedule aoc-e facility message for call %d\n", call->cr);
return -1;
}
@@ -1598,7 +1595,7 @@
return 0;
}
-int pri_aoc_e_send(struct pri *ctrl, q931_call *call, const struct pri_subcmd_aoc_e *aoc_e)
+int pri_aoc_e_send(struct pri *ctrl, q931_call *call, const struct pri_subcmd_aoc_e *aoc_e, int on_release)
{
if (!ctrl || !call)
return -1;
@@ -1606,7 +1603,7 @@
switch (ctrl->switchtype) {
case PRI_SWITCH_EUROISDN_E1:
case PRI_SWITCH_EUROISDN_T1:
- return aoc_aoce_encode(ctrl, call, aoc_e);
+ return aoc_aoce_encode(ctrl, call, aoc_e, on_release ? Q931_RELEASE : Q931_DISCONNECT);
case PRI_SWITCH_QSIG:
break;
default:
More information about the libpri-commits
mailing list