[asterisk-commits] may: branch may/ooh323_ipv6_direct_rtp r307671 - in /team/may/ooh323_ipv6_dir...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Feb 11 06:17:34 CST 2011
Author: may
Date: Fri Feb 11 06:17:27 2011
New Revision: 307671
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=307671
Log:
Merged revisions 307207,307246,307289,307332,307375,307411,307521-307522,307527,307561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/team/may/ooh323_ipv6
................
r307207 | root | 2011-02-09 22:20:42 +0300 (Wed, 09 Feb 2011) | 12 lines
Merged revisions 307192 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r307192 | tzafrir | 2011-02-09 13:17:01 -0600 (Wed, 09 Feb 2011) | 4 lines
clarify warning when no loadable module support
Clarify warning message when LOADABLE_MODULES is disabled but we still
try to load a module.
........
................
r307246 | root | 2011-02-09 23:20:39 +0300 (Wed, 09 Feb 2011) | 40 lines
Merged revisions 307229,307231 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r307229 | jpeeler | 2011-02-09 13:53:28 -0600 (Wed, 09 Feb 2011) | 24 lines
Merged revisions 307228 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r307228 | jpeeler | 2011-02-09 13:52:51 -0600 (Wed, 09 Feb 2011) | 17 lines
Merged revisions 307227 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r307227 | jpeeler | 2011-02-09 13:52:12 -0600 (Wed, 09 Feb 2011) | 11 lines
Make sure to set parking dial context for non-default parking lots.
Since parking_con_dial isn't settable, set all parking lots to "park-dial".
(closes issue #17946)
Reported by: bluecrow76
Patches:
asterisk-1.8.0-beta4-multipark-fixes-2010SEP02.diff uploaded by bluecrow76 (license 270)
modified by me
........
................
................
r307231 | jpeeler | 2011-02-09 14:11:11 -0600 (Wed, 09 Feb 2011) | 7 lines
Allow parkedmusicclass to be settable for non-default parking lots.
(closes issue #17946)
Reported by: bluecrow76
Patches:
asterisk-1.8.0-beta4-multipark-fixes-2010SEP02.diff
................
................
r307289 | root | 2011-02-10 00:20:41 +0300 (Thu, 10 Feb 2011) | 22 lines
Merged revisions 307274 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r307274 | jpeeler | 2011-02-09 15:08:22 -0600 (Wed, 09 Feb 2011) | 15 lines
Merged revisions 307273 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r307273 | jpeeler | 2011-02-09 15:06:33 -0600 (Wed, 09 Feb 2011) | 8 lines
Add missing debug info for ao2_link for use with REF_DEBUG in ao2 callback.
(closes issue #18758)
Reported by: rgagnon
Patches:
branch-1.8-r306540-astobj-fix.diff uploaded by rgagnon (license 1202)
trunk-r306540-astobj-fix.diff uploaded by rgagnon (license 1202)
........
................
................
r307332 | root | 2011-02-10 01:20:31 +0300 (Thu, 10 Feb 2011) | 15 lines
Merged revisions 307315 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r307315 | lathama | 2011-02-09 15:46:24 -0600 (Wed, 09 Feb 2011) | 8 lines
Disable color during running test
(closes issue #18776)
Reported by: alecdavis
Patches:
ast_deb_init.diff uploaded by lathama (license 1028)
Tested by: andrel, lathama
........
................
r307375 | root | 2011-02-10 02:20:41 +0300 (Thu, 10 Feb 2011) | 21 lines
Merged revisions 307359 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
........
r307359 | jpeeler | 2011-02-09 16:48:02 -0600 (Wed, 09 Feb 2011) | 15 lines
Add new manager action MeetmeListRooms.
From the submitter:
I've added a new manager action to list only the active conferences on an
Asterisk system. It shows the same data displayed when you run a 'meetme list'
on the Asterisk CLI.
(closes issue #17905)
Reported by: rcasas
Patches:
app_meetme.c.patch uploaded by rcasas (license 641)
Review: https://reviewboard.asterisk.org/r/874/
........
................
r307411 | root | 2011-02-10 17:20:50 +0300 (Thu, 10 Feb 2011) | 1 line
automerge cancel
................
r307521 | may | 2011-02-10 23:10:14 +0300 (Thu, 10 Feb 2011) | 30 lines
Recorded merge of revisions 307396 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r307396 | may | 2011-02-10 16:29:19 +0300 (Thu, 10 Feb 2011) | 23 lines
Corrections for properly work with H.323v2 (older) endpoints and other
small fixes.
Interpret remote side H.225 version.
Corrections for H.323v2 endpoints:
don't start TCS and MSD before connect,
don't start TCS and MSD by accepting H.245 connection,
start TCS and MSD by StartH245 facility message.
Other fixes:
fix non zeroended remoteDisplayName issue, small fixes in call clearing
by closing H.245 connection, tcp keepalive introduced on TCP
connections (now is hardcoded, will be configurable in the future),
don't force H.245tunneling if FastStart is active, don't send Alerting
singal more than once per call.
(closes issue #18542)
Reported by: vmikhelson
Patches:
issue18542-final-3.patch uploaded by may213 (license 454)
Tested by: vmikhelson
........
................
r307522 | may | 2011-02-10 23:11:43 +0300 (Thu, 10 Feb 2011) | 2 lines
reinit automerge
................
r307527 | root | 2011-02-10 23:17:36 +0300 (Thu, 10 Feb 2011) | 26 lines
Merged revisions 307433,307468 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r307433 | dvossel | 2011-02-10 11:12:10 -0600 (Thu, 10 Feb 2011) | 6 lines
Fixes bug in chan_sip where nativeformats are not set correctly.
The nativeformats field was being overwritten when it should have been
appended too. This caused some format capabilities to be lost briefly and
some log warnings to be output.
................
r307468 | mmichelson | 2011-02-10 11:45:24 -0600 (Thu, 10 Feb 2011) | 11 lines
Merged revisions 307467 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r307467 | mmichelson | 2011-02-10 11:44:42 -0600 (Thu, 10 Feb 2011) | 5 lines
Fix a gaffe in the CCSS sample configuration.
Discovered by Philippe Lindheimer and pointed out on #asterisk-dev
........
................
................
r307561 | root | 2011-02-11 02:22:23 +0300 (Fri, 11 Feb 2011) | 36 lines
Merged revisions 307537 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk
................
r307537 | qwell | 2011-02-10 16:43:51 -0600 (Thu, 10 Feb 2011) | 29 lines
Merged revisions 307536 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
................
r307536 | qwell | 2011-02-10 16:39:30 -0600 (Thu, 10 Feb 2011) | 22 lines
Merged revisions 307535 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
................
r307535 | qwell | 2011-02-10 16:35:49 -0600 (Thu, 10 Feb 2011) | 15 lines
Merged revisions 307534 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r307534 | qwell | 2011-02-10 16:33:09 -0600 (Thu, 10 Feb 2011) | 8 lines
Remove color when executing commands via a remote console.
Essentially this makes '-x' imply '-n' on rasterisk. This was done in a
different and incomplete way previously, which I'm reverting here.
(issue #18776)
Reported by: alecdavis
........
................
................
................
................
Modified:
team/may/ooh323_ipv6_direct_rtp/ (props changed)
team/may/ooh323_ipv6_direct_rtp/CHANGES
team/may/ooh323_ipv6_direct_rtp/addons/chan_ooh323.c
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooCalls.h
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooSocket.c
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooStackCmds.c
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/oochannels.c
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh245.c
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh323.c
team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooq931.c
team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c
team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c
team/may/ooh323_ipv6_direct_rtp/configs/ccss.conf.sample
team/may/ooh323_ipv6_direct_rtp/include/asterisk/format_cap.h
team/may/ooh323_ipv6_direct_rtp/main/asterisk.c
team/may/ooh323_ipv6_direct_rtp/main/astobj2.c
team/may/ooh323_ipv6_direct_rtp/main/features.c
team/may/ooh323_ipv6_direct_rtp/main/format_cap.c
team/may/ooh323_ipv6_direct_rtp/main/loader.c
Propchange: team/may/ooh323_ipv6_direct_rtp/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Propchange: team/may/ooh323_ipv6_direct_rtp/
------------------------------------------------------------------------------
--- svnmerge-custom (original)
+++ svnmerge-custom Fri Feb 11 06:17:27 2011
@@ -1,1 +1,1 @@
-/team/may/ooh323_ipv6:1-307185
+/team/may/ooh323_ipv6:1-307670
Propchange: team/may/ooh323_ipv6_direct_rtp/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Feb 11 06:17:27 2011
@@ -1,1 +1,1 @@
-/trunk:1-307184
+/trunk:1-307560
Modified: team/may/ooh323_ipv6_direct_rtp/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/CHANGES?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/CHANGES (original)
+++ team/may/ooh323_ipv6_direct_rtp/CHANGES Fri Feb 11 06:17:27 2011
@@ -12,11 +12,17 @@
--- Functionality changes from Asterisk 1.8 to Asterisk 1.10 -----------------
------------------------------------------------------------------------------
+Parking
+-------
+ * parkedmusicclass can now be set for non-default parking lots.
+
Asterisk Manager Interface
--------------------------
* PeerStatus now includes Address and Port.
* Added Hold events for when the remote party puts the call on and off hold
for chan_dahdi ISDN channels.
+ * Added new action MeetmeListRooms to list active conferences (shows same
+ data as "meetme list" at the CLI).
Asterisk HTTP Server
--------------------------
Modified: team/may/ooh323_ipv6_direct_rtp/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/chan_ooh323.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/chan_ooh323.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/chan_ooh323.c Fri Feb 11 06:17:27 2011
@@ -186,6 +186,7 @@
int nat;
int amaflags;
int progsent; /* progress is sent */
+ int alertsent; /* alerting is sent */
struct ast_dsp *vad;
struct OOH323Regex *rtpmask; /* rtp ip regexp */
char rtpmaskstr[120];
@@ -1231,12 +1232,16 @@
break;
case AST_CONTROL_RINGING:
if (ast->_state == AST_STATE_RING || ast->_state == AST_STATE_RINGING) {
- if (gH323Debug)
- ast_log(LOG_DEBUG,"Sending manual ringback for %s, res = %d\n",
- callToken,
- ooManualRingback(callToken));
- else
- ooManualRingback(callToken);
+ if (!p->alertsent) {
+ if (gH323Debug) {
+ ast_debug(1, "Sending manual ringback for %s, res = %d\n",
+ callToken,
+ ooManualRingback(callToken));
+ } else {
+ ooManualRingback(callToken);
+ }
+ p->alertsent = 1;
+ }
}
break;
case AST_CONTROL_SRCUPDATE:
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooCalls.h
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooCalls.h?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooCalls.h (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooCalls.h Fri Feb 11 06:17:27 2011
@@ -174,6 +174,7 @@
OOCallState callState;
OOCallClearReason callEndReason;
int q931cause;
+ ASN1UINT h225version;
unsigned h245ConnectionAttempts;
OOH245SessionState h245SessionState;
int dtmfmode;
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooSocket.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooSocket.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooSocket.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooSocket.c Fri Feb 11 06:17:27 2011
@@ -199,8 +199,9 @@
{
int on;
OOSOCKET sock;
-
+ int keepalive = 1, keepcnt = 24, keepidle = 120, keepintvl = 30;
struct linger linger;
+
if (family == 6) {
sock = socket (AF_INET6,
SOCK_STREAM,
@@ -231,6 +232,11 @@
OOTRACEERR1("Error:Failed to set socket option linger\n");
return ASN_E_INVSOCKET;
}
+ setsockopt (sock, SOL_SOCKET, SO_KEEPALIVE, (const char *)&keepalive,
+ sizeof(keepalive));
+ setsockopt (sock, SOL_TCP, TCP_KEEPCNT, &keepcnt, sizeof(keepcnt));
+ setsockopt (sock, SOL_TCP, TCP_KEEPIDLE, &keepidle, sizeof(keepidle));
+ setsockopt (sock, SOL_TCP, TCP_KEEPINTVL, &keepintvl, sizeof(keepintvl));
*psocket = sock;
return ASN_OK;
}
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooStackCmds.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooStackCmds.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooStackCmds.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooStackCmds.c Fri Feb 11 06:17:27 2011
@@ -261,6 +261,9 @@
return OO_STKCMD_CONNECTIONERR;
}
+ if (call->h225version < 4)
+ return OO_STKCMD_SUCCESS;
+
memset(&cmd, 0, sizeof(OOStackCommand));
cmd.type = OO_CMD_MANUALPROGRESS;
cmd.param1 = (void*) malloc(strlen(callToken)+1);
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/oochannels.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/oochannels.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/oochannels.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/oochannels.c Fri Feb 11 06:17:27 2011
@@ -484,15 +484,6 @@
OOTRACEINFO3("H.245 connection established (%s, %s)\n",
call->callType, call->callToken);
-
- /* Start terminal capability exchange and master slave determination */
- ret = ooSendTermCapMsg(call);
- if(ret != OO_OK)
- {
- OOTRACEERR3("ERROR:Sending Terminal capability message (%s, %s)\n",
- call->callType, call->callToken);
- return ret;
- }
return OO_OK;
}
@@ -1847,6 +1838,8 @@
}
else{
ooCloseH245Connection(call);
+ if(call->callState < OO_CALL_CLEAR)
+ call->callState = OO_CALL_CLEAR;
}
break;
case OOCloseLogicalChannel:
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh245.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh245.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh245.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh245.c Fri Feb 11 06:17:27 2011
@@ -2167,14 +2167,12 @@
}
}
ooCloseH245Connection(call);
+ if (call->callState < OO_CALL_CLEAR)
+ call->callState = OO_CALL_CLEAR;
}
else{
call->h245SessionState = OO_H245SESSION_ENDRECVD;
-#if 0
- if(call->callState < OO_CALL_CLEAR)
- call->callState = OO_CALL_CLEAR;
-#else
if(call->logicalChans)
{
OOTRACEINFO3("In response to received EndSessionCommand - "
@@ -2183,7 +2181,6 @@
ooClearAllLogicalChannels(call);
}
ooSendEndSessionCommand(call);
-#endif
}
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh323.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh323.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooh323.c Fri Feb 11 06:17:27 2011
@@ -40,6 +40,7 @@
int ooOnReceivedAlerting(OOH323CallData *call, Q931Message *q931Msg);
int ooOnReceivedProgress(OOH323CallData *call, Q931Message *q931Msg);
int ooHandleDisplayIE(OOH323CallData *call, Q931Message *q931Msg);
+int ooHandleH2250ID (OOH323CallData *call, H225ProtocolIdentifier protocolIdentifier);
int ooHandleDisplayIE(OOH323CallData *call, Q931Message *q931Msg) {
Q931InformationElement* pDisplayIE;
@@ -57,6 +58,17 @@
return OO_OK;
}
+int ooHandleH2250ID (OOH323CallData *call, H225ProtocolIdentifier protocolIdentifier) {
+ if (!call->h225version && (protocolIdentifier.numids >= 6) &&
+ (protocolIdentifier.subid[3] == 2250)) {
+ call->h225version = protocolIdentifier.subid[5];
+ OOTRACEDBGC4("Extract H.225 remote version, it's %d, (%s, %s)\n", call->h225version,
+ call->callType, call->callToken);
+
+ }
+ return OO_OK;
+}
+
int ooHandleFastStart(OOH323CallData *call, H225Facility_UUIE *facility)
{
H245OpenLogicalChannel* olc;
@@ -241,7 +253,9 @@
}
}
} else if (OO_TESTFLAG (call->flags, OO_M_TUNNELING)) {
- ret =ooSendTCSandMSD(call);
+ if (call->h225version >= 4) {
+ ret =ooSendTCSandMSD(call);
+ }
if (ret != OO_OK)
return ret;
}
@@ -374,6 +388,7 @@
"%s\n", call->callType, call->callToken);
return OO_FAILED;
}
+ ooHandleH2250ID(call, setup->protocolIdentifier);
memcpy(call->callIdentifier.guid.data, setup->callIdentifier.guid.data,
setup->callIdentifier.guid.numocts);
call->callIdentifier.guid.numocts = setup->callIdentifier.guid.numocts;
@@ -386,9 +401,9 @@
pDisplayIE = ooQ931GetIE(q931Msg, Q931DisplayIE);
if(pDisplayIE)
{
- call->remoteDisplayName = (char *) memAlloc(call->pctxt,
+ call->remoteDisplayName = (char *) memAllocZ(call->pctxt,
pDisplayIE->length*sizeof(ASN1OCTET)+1);
- strcpy(call->remoteDisplayName, (char *)pDisplayIE->data);
+ strncpy(call->remoteDisplayName, (char *)pDisplayIE->data, pDisplayIE->length*sizeof(ASN1OCTET));
}
/*Extract Remote Aliases, if present*/
if(setup->m.sourceAddressPresent)
@@ -628,6 +643,7 @@
return OO_FAILED;
}
+ ooHandleH2250ID(call, callProceeding->protocolIdentifier);
/* Handle fast-start */
if(OO_TESTFLAG (call->flags, OO_M_FASTSTART))
{
@@ -856,6 +872,7 @@
}
return OO_FAILED;
}
+ ooHandleH2250ID(call, alerting->protocolIdentifier);
/*Handle fast-start */
if(OO_TESTFLAG (call->flags, OO_M_FASTSTART) &&
!OO_TESTFLAG(call->flags, OO_M_FASTSTARTANSWERED))
@@ -1006,7 +1023,9 @@
OOTRACEINFO3("Tunneling and h245address provided."
"Giving preference to Tunneling (%s, %s)\n",
call->callType, call->callToken);
- ret =ooSendTCSandMSD(call);
+ if (call->h225version >= 4) {
+ ret =ooSendTCSandMSD(call);
+ }
if (ret != OO_OK)
return ret;
@@ -1048,6 +1067,10 @@
call->callState = OO_CALL_CLEAR;
}
return OO_FAILED;
+ } else {
+ if (call->h225version >= 4) {
+ ret =ooSendTCSandMSD(call);
+ }
}
}
}
@@ -1086,6 +1109,7 @@
}
return OO_FAILED;
}
+ ooHandleH2250ID(call, progress->protocolIdentifier);
/*Handle fast-start */
if(OO_TESTFLAG (call->flags, OO_M_FASTSTART) &&
!OO_TESTFLAG(call->flags, OO_M_FASTSTARTANSWERED))
@@ -1237,7 +1261,9 @@
OOTRACEINFO3("Tunneling and h245address provided."
"Giving preference to Tunneling (%s, %s)\n",
call->callType, call->callToken);
- ret =ooSendTCSandMSD(call);
+ if (call->h225version >= 4) {
+ ret =ooSendTCSandMSD(call);
+ }
if (ret != OO_OK)
return ret;
} else if(progress->m.h245AddressPresent) {
@@ -1278,6 +1304,10 @@
call->callState = OO_CALL_CLEAR;
}
return OO_FAILED;
+ } else {
+ if (call->h225version >= 4) {
+ ret =ooSendTCSandMSD(call);
+ }
}
}
}
@@ -1323,7 +1353,7 @@
}
return OO_FAILED;
}
-
+ ooHandleH2250ID(call, connect->protocolIdentifier);
/*Handle fast-start */
if(OO_TESTFLAG (call->flags, OO_M_FASTSTART) &&
!OO_TESTFLAG (call->flags, OO_M_FASTSTARTANSWERED))
@@ -1559,24 +1589,24 @@
OOTRACEDBGB3("Finished tunneled messages in Connect. (%s, %s)\n",
call->callType, call->callToken);
- /*
+ }
+ /*
Send TCS as call established and no capability exchange has yet
started. This will be true only when separate h245 connection is not
established and tunneling is being used.
- */
- if(call->localTermCapState == OO_LocalTermCapExchange_Idle)
- {
- /*Start terminal capability exchange and master slave determination */
- ret = ooSendTermCapMsg(call);
- if(ret != OO_OK)
- {
- OOTRACEERR3("ERROR:Sending Terminal capability message (%s, %s)\n",
- call->callType, call->callToken);
- return ret;
- }
- }
-
- }
+ */
+ if(call->localTermCapState == OO_LocalTermCapExchange_Idle)
+ {
+ /*Start terminal capability exchange and master slave determination */
+ ret = ooSendTermCapMsg(call);
+ if(ret != OO_OK)
+ {
+ OOTRACEERR3("ERROR:Sending Terminal capability message (%s, %s)\n",
+ call->callType, call->callToken);
+ return ret;
+ }
+ }
+
call->callState = OO_CALL_CONNECTED;
if (call->rtdrCount > 0 && call->rtdrInterval > 0) {
return ooSendRoundTripDelayRequest(call);
@@ -1798,6 +1828,9 @@
H225TransportAddress_ip6Address_ip *ip6 = NULL;
OOTRACEDBGC3("Received Facility Message.(%s, %s)\n", call->callType,
call->callToken);
+
+ ooHandleDisplayIE(call, pQ931Msg);
+
/* Get Reference to H323_UU_PDU */
if(!pQ931Msg->userInfo)
{
@@ -1815,6 +1848,7 @@
facility = pH323UUPdu->h323_message_body.u.facility;
if(facility)
{
+ ooHandleH2250ID(call, facility->protocolIdentifier);
/* Depending on the reason of facility message handle the message */
if(facility->reason.t == T_H225FacilityReason_transportedInformation)
{
@@ -2027,6 +2061,7 @@
OOTRACEINFO3("INFO: H.245 connection already established with remote"
" endpoint (%s, %s)\n", call->callType, call->callToken);
}
+ ooSendTCSandMSD(call);
return OO_OK;
}
Modified: team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooq931.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooq931.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooq931.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/addons/ooh323c/src/ooq931.c Fri Feb 11 06:17:27 2011
@@ -55,6 +55,7 @@
int offset, x;
int rv = ASN_OK;
char number[128];
+ char *display = NULL;
/* OOCTXT *pctxt = &gH323ep.msgctxt; */
OOCTXT *pctxt = call->msgctxt;
@@ -166,9 +167,15 @@
}
if(ie->discriminator == Q931DisplayIE)
{
- OOTRACEDBGB1(" Display IE = {\n");
- OOTRACEDBGB2(" %s\n", ie->data);
- OOTRACEDBGB1(" }\n");
+ if (!(display = memAllocZ(pctxt, ie->length + 1))) {
+ OOTRACEERR4("Can't alloc DisplayIE buffer for %n bytes, (%s, %s)\n", ie->length,
+ call->callType, call->callToken);
+ } else {
+ memcpy(display, ie->data,ie->length);
+ OOTRACEDBGB1(" Display IE = {\n");
+ OOTRACEDBGB2(" %s\n", display);
+ OOTRACEDBGB1(" }\n");
+ }
}
if(ie->discriminator == Q931KeypadIE)
@@ -1453,7 +1460,9 @@
OOTRACEERR3("Error: Failed to enqueue Alerting message to outbound queue. (%s, %s)\n", call->callType, call->callToken);
}
- ooSendTCSandMSD(call);
+ if (call->h225version >= 4) {
+ ooSendTCSandMSD(call);
+ }
memReset (call->msgctxt);
return ret;
@@ -1609,7 +1618,9 @@
if (!OO_TESTFLAG(call->flags, OO_M_TUNNELING) && call->h245listener)
ooSendStartH245Facility(call);
- ooSendTCSandMSD(call);
+ if (call->h225version >= 4) {
+ ooSendTCSandMSD(call);
+ }
memReset (call->msgctxt);
return ret;
@@ -1996,12 +2007,16 @@
}
- /* Add h245 listener address. Do not add H245 listener address in case
- of fast-start. */
+ /* Add h245 listener address. */
+ /* Do not add H245 listener address in case
+ of fast-start. why? */
+ /* May 20110205 */
+ /* Send h245 listener addr any case if H245 connection isn't established */
if (/* (!OO_TESTFLAG(call->flags, OO_M_FASTSTART) ||
call->remoteFastStartOLCs.count == 0) && */
!OO_TESTFLAG (call->flags, OO_M_TUNNELING) &&
- !call->h245listener && ooCreateH245Listener(call) == OO_OK)
+ ( (!call->h245listener && ooCreateH245Listener(call) == OO_OK) ||
+ !call->pH245Channel))
{
connect->m.h245AddressPresent = TRUE;
if (call->versionIP == 6) {
@@ -2053,6 +2068,7 @@
return OO_FAILED;
}
/* memReset(&gH323ep.msgctxt); */
+ ooSendTCSandMSD(call);
memReset(call->msgctxt);
call->callState = OO_CALL_CONNECTED;
@@ -2827,11 +2843,8 @@
/* For H.323 version 4 and higher, if fast connect, tunneling should be
supported.
+ why?
*/
- if(OO_TESTFLAG(call->flags, OO_M_FASTSTART)) {
- q931msg->userInfo->h323_uu_pdu.h245Tunneling = TRUE;
- OO_SETFLAG(call->flags, OO_M_TUNNELING);
- }
OOTRACEDBGA3("Built SETUP message (%s, %s)\n", call->callType,
call->callToken);
Modified: team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/apps/app_meetme.c Fri Feb 11 06:17:27 2011
@@ -509,6 +509,19 @@
MeetmeListComplete.</para>
</description>
</manager>
+ <manager name="MeetmeListRooms" language="en_US">
+ <synopsis>
+ List active conferences.
+ </synopsis>
+ <syntax>
+ <xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
+ </syntax>
+ <description>
+ <para>Lists data about all active conferences.
+ MeetmeListRooms will follow as separate events, followed by a final event called
+ MeetmeListRoomsComplete.</para>
+ </description>
+ </manager>
***/
#define CONFIG_FILE_NAME "meetme.conf"
@@ -4891,6 +4904,73 @@
return 0;
}
+static int action_meetmelistrooms(struct mansession *s, const struct message *m)
+{
+ const char *actionid = astman_get_header(m, "ActionID");
+ char idText[80] = "";
+ struct ast_conference *cnf;
+ int totalitems = 0;
+ int hr, min, sec;
+ time_t now;
+ char markedusers[5];
+
+ if (!ast_strlen_zero(actionid)) {
+ snprintf(idText, sizeof(idText), "ActionID: %s\r\n", actionid);
+ }
+
+ if (AST_LIST_EMPTY(&confs)) {
+ astman_send_error(s, m, "No active conferences.");
+ return 0;
+ }
+
+ astman_send_listack(s, m, "Meetme conferences will follow", "start");
+
+ now = time(NULL);
+
+ /* Traverse the conference list */
+ AST_LIST_LOCK(&confs);
+ AST_LIST_TRAVERSE(&confs, cnf, list) {
+ totalitems++;
+
+ if (cnf->markedusers == 0) {
+ strcpy(markedusers, "N/A");
+ } else {
+ sprintf(markedusers, "%.4d", cnf->markedusers);
+ }
+ hr = (now - cnf->start) / 3600;
+ min = ((now - cnf->start) % 3600) / 60;
+ sec = (now - cnf->start) % 60;
+
+ astman_append(s,
+ "Event: MeetmeListRooms\r\n"
+ "%s"
+ "Conference: %s\r\n"
+ "Parties: %d\r\n"
+ "Marked: %s\r\n"
+ "Activity: %2.2d:%2.2d:%2.2d\r\n"
+ "Creation: %s\r\n"
+ "Locked: %s\r\n"
+ "\r\n",
+ idText,
+ cnf->confno,
+ cnf->users,
+ markedusers,
+ hr, min, sec,
+ cnf->isdynamic ? "Dynamic" : "Static",
+ cnf->locked ? "Yes" : "No");
+ }
+ AST_LIST_UNLOCK(&confs);
+
+ /* Send final confirmation */
+ astman_append(s,
+ "Event: MeetmeListRoomsComplete\r\n"
+ "EventList: Complete\r\n"
+ "ListItems: %d\r\n"
+ "%s"
+ "\r\n", totalitems, idText);
+ return 0;
+}
+
static void *recordthread(void *args)
{
struct ast_conference *cnf = args;
@@ -7152,6 +7232,7 @@
res = ast_manager_unregister("MeetmeMute");
res |= ast_manager_unregister("MeetmeUnmute");
res |= ast_manager_unregister("MeetmeList");
+ res |= ast_manager_unregister("MeetmeListRooms");
res |= ast_unregister_application(app4);
res |= ast_unregister_application(app3);
res |= ast_unregister_application(app2);
@@ -7187,6 +7268,7 @@
res |= ast_manager_register_xml("MeetmeMute", EVENT_FLAG_CALL, action_meetmemute);
res |= ast_manager_register_xml("MeetmeUnmute", EVENT_FLAG_CALL, action_meetmeunmute);
res |= ast_manager_register_xml("MeetmeList", EVENT_FLAG_REPORTING, action_meetmelist);
+ res |= ast_manager_register_xml("MeetmeListRooms", EVENT_FLAG_REPORTING, action_meetmelistrooms);
res |= ast_register_application_xml(app4, channel_admin_exec);
res |= ast_register_application_xml(app3, admin_exec);
res |= ast_register_application_xml(app2, count_exec);
Modified: team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/channels/chan_sip.c Fri Feb 11 06:17:27 2011
@@ -8881,8 +8881,8 @@
ast_codec_choose(&p->prefs, p->jointcaps, 1, &tmp_fmt);
ast_format_cap_set(p->owner->nativeformats, &tmp_fmt);
- ast_format_cap_joint_copy(p->caps, vpeercapability, p->owner->nativeformats);
- ast_format_cap_joint_copy(p->caps, tpeercapability, p->owner->nativeformats);
+ ast_format_cap_joint_append(p->caps, vpeercapability, p->owner->nativeformats);
+ ast_format_cap_joint_append(p->caps, tpeercapability, p->owner->nativeformats);
ast_set_read_format(p->owner, &p->owner->readformat);
ast_set_write_format(p->owner, &p->owner->writeformat);
Modified: team/may/ooh323_ipv6_direct_rtp/configs/ccss.conf.sample
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/configs/ccss.conf.sample?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/configs/ccss.conf.sample (original)
+++ team/may/ooh323_ipv6_direct_rtp/configs/ccss.conf.sample Fri Feb 11 06:17:27 2011
@@ -100,7 +100,7 @@
; protocol-specific methods to request CC from this interface
; and to monitor the interface for availability.
;
-;accept: If an interface is set to "accept," then we will accept
+;always: If an interface is set to "always," then we will accept
; protocol-specific CC offers from the caller and use
; a native CC monitor for the remainder of the CC transaction.
; However, if the interface does not offer protocol-specific
Modified: team/may/ooh323_ipv6_direct_rtp/include/asterisk/format_cap.h
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/include/asterisk/format_cap.h?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/include/asterisk/format_cap.h (original)
+++ team/may/ooh323_ipv6_direct_rtp/include/asterisk/format_cap.h Fri Feb 11 06:17:27 2011
@@ -192,6 +192,14 @@
int ast_format_cap_joint_copy(const struct ast_format_cap *cap1, const struct ast_format_cap *cap2, struct ast_format_cap *result);
/*!
+ * \brief Get joint capability structure, append into result capabilities structure
+ *
+ * \retval 1, joint capabilities exist
+ * \retval 0, joint capabilities do not exist
+ */
+int ast_format_cap_joint_append(const struct ast_format_cap *cap1, const struct ast_format_cap *cap2, struct ast_format_cap *result);
+
+/*!
* \brief Find out if capability structures have any joint capabilities without
* returning those capabilities.
*
Modified: team/may/ooh323_ipv6_direct_rtp/main/asterisk.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/main/asterisk.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/main/asterisk.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/main/asterisk.c Fri Feb 11 06:17:27 2011
@@ -3321,7 +3321,7 @@
ast_clear_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND);
break;
case 'x':
- ast_set_flag(&ast_options, AST_OPT_FLAG_EXEC);
+ ast_set_flag(&ast_options, AST_OPT_FLAG_EXEC | AST_OPT_FLAG_NO_COLOR);
xarg = ast_strdupa(optarg);
break;
case '?':
Modified: team/may/ooh323_ipv6_direct_rtp/main/astobj2.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/main/astobj2.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/main/astobj2.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/main/astobj2.c Fri Feb 11 06:17:27 2011
@@ -705,7 +705,11 @@
* link the object into the container that will hold the results.
*/
if (ret && (multi_container != NULL)) {
- __ao2_link(multi_container, ret, flags);
+ if (tag) {
+ __ao2_link_debug(multi_container, ret, flags, tag, file, line, funcname);
+ } else {
+ __ao2_link(multi_container, ret, flags);
+ }
ret = NULL;
}
Modified: team/may/ooh323_ipv6_direct_rtp/main/features.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/main/features.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/main/features.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/main/features.c Fri Feb 11 06:17:27 2011
@@ -4701,6 +4701,8 @@
} else if (!strcasecmp(confvar->value, "callee")) {
parkinglot->parkedcallrecording = AST_FEATURE_FLAG_BYCALLEE;
}
+ } else if (!strcasecmp(confvar->name, "parkedmusicclass")) {
+ ast_copy_string(parkinglot->mohclass, confvar->value, sizeof(parkinglot->mohclass));
}
confvar = confvar->next;
}
@@ -4715,9 +4717,9 @@
if (!var) { /* Default parking lot */
ast_copy_string(parkinglot->parking_con, "parkedcalls", sizeof(parkinglot->parking_con));
- ast_copy_string(parkinglot->parking_con_dial, "park-dial", sizeof(parkinglot->parking_con_dial));
ast_copy_string(parkinglot->mohclass, "default", sizeof(parkinglot->mohclass));
}
+ ast_copy_string(parkinglot->parking_con_dial, "park-dial", sizeof(parkinglot->parking_con_dial));
/* Check for errors */
if (ast_strlen_zero(parkinglot->parking_con)) {
Modified: team/may/ooh323_ipv6_direct_rtp/main/format_cap.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/main/format_cap.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/main/format_cap.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/main/format_cap.c Fri Feb 11 06:17:27 2011
@@ -409,7 +409,7 @@
return NULL;
}
-int ast_format_cap_joint_copy(const struct ast_format_cap *cap1, const struct ast_format_cap *cap2, struct ast_format_cap *result)
+static int joint_copy_helper(const struct ast_format_cap *cap1, const struct ast_format_cap *cap2, struct ast_format_cap *result, int append)
{
struct ao2_iterator it;
struct ast_format *tmp;
@@ -417,8 +417,9 @@
.joint_cap = result,
.joint_found = 0,
};
-
- ast_format_cap_remove_all(result);
+ if (!append) {
+ ast_format_cap_remove_all(result);
+ }
it = ao2_iterator_init(cap1->formats, cap2->nolock ? AO2_ITERATOR_DONTLOCK : 0);
while ((tmp = ao2_iterator_next(&it))) {
data.format = tmp;
@@ -431,6 +432,16 @@
ao2_iterator_destroy(&it);
return ao2_container_count(result->formats) ? 1 : 0;
+}
+
+int ast_format_cap_joint_append(const struct ast_format_cap *cap1, const struct ast_format_cap *cap2, struct ast_format_cap *result)
+{
+ return joint_copy_helper(cap1, cap2, result, 1);
+}
+
+int ast_format_cap_joint_copy(const struct ast_format_cap *cap1, const struct ast_format_cap *cap2, struct ast_format_cap *result)
+{
+ return joint_copy_helper(cap1, cap2, result, 0);
}
struct ast_format_cap *ast_format_cap_get_type(const struct ast_format_cap *cap, enum ast_format_type ftype)
Modified: team/may/ooh323_ipv6_direct_rtp/main/loader.c
URL: http://svnview.digium.com/svn/asterisk/team/may/ooh323_ipv6_direct_rtp/main/loader.c?view=diff&rev=307671&r1=307670&r2=307671
==============================================================================
--- team/may/ooh323_ipv6_direct_rtp/main/loader.c (original)
+++ team/may/ooh323_ipv6_direct_rtp/main/loader.c Fri Feb 11 06:17:27 2011
@@ -843,7 +843,7 @@
}
}
#else
- ast_log(LOG_WARNING, "Module '%s' could not be loaded.\n", resource_name);
+ ast_log(LOG_WARNING, "Module support is not available. Module '%s' could not be loaded.\n", resource_name);
return required ? AST_MODULE_LOAD_FAILURE : AST_MODULE_LOAD_DECLINE;
#endif
}
More information about the asterisk-commits
mailing list