Update of /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src
In directory mongoose.digium.com:/tmp/cvs-serv21003/ooh323c/src
Modified Files:
ooCalls.h ooGkClient.c ooStackCmds.c ooStackCmds.h ooh323ep.c
ooh323ep.h ooq931.c ooq931.h ootrace.c ootypes.h
Log Message:
Added conf option to enable registering with gatekeeper as gateway or endpoint
Index: ooCalls.h
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooCalls.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ooCalls.h 2 Sep 2005 14:27:10 -0000 1.5
+++ ooCalls.h 16 Sep 2005 19:29:17 -0000 1.6
@@ -41,6 +41,7 @@
*/
+
#define OO_M_ENDPOINTCREATED 0x00010000
#define OO_M_ENDSESSION_BUILT 0x00800000
#define OO_M_RELEASE_BUILT 0x00400000
Index: ooGkClient.c
===================================================================
RCS file:
/usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooGkClient.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- ooGkClient.c 2 Sep 2005 14:27:10 -0000 1.7
+++ ooGkClient.c 16 Sep 2005 19:29:17 -0000 1.8
@@ -646,6 +646,13 @@
pRasAddress->ip.numocts = 4;
pRasAddress->port = pGkClient->localRASPort;
pGkReq->rasAddress.u.ipAddress = pRasAddress;
+
+ /* Pose as gateway or terminal as per config */
+ if(gH323ep.isGateway)
+ pGkReq->endpointType.m.gatewayPresent = TRUE;
+ else
+ pGkReq->endpointType.m.terminalPresent = TRUE;
+
pGkReq->endpointType.m.nonStandardDataPresent=0;
pGkReq->endpointType.m.vendorPresent=1;
@@ -925,6 +932,12 @@
dListAppend(pctxt, &pRegReq->rasAddress,
(void*)pTransportAddress);
+ /* Pose as gateway or terminal as per config */
+ if(gH323ep.isGateway)
+ pRegReq->terminalType.m.gatewayPresent = TRUE;
+ else
+ pRegReq->terminalType.m.terminalPresent = TRUE;
+
pRegReq->terminalType.m.vendorPresent=TRUE;
ooGkClientFillVendor(pGkClient, &pRegReq->terminalType.vendor );
Index: ooStackCmds.c
===================================================================
RCS file:
/usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooStackCmds.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ooStackCmds.c 2 Sep 2005 14:27:10 -0000 1.6
+++ ooStackCmds.c 16 Sep 2005 19:29:17 -0000 1.7
@@ -17,6 +17,7 @@
#include "ooStackCmds.h"
#include "ootrace.h"
#include "ooq931.h"
+#include "ooh245.h"
#include "ooh323ep.h"
#include "oochannels.h"
#include "ooCalls.h"
Index: ooStackCmds.h
===================================================================
RCS file:
/usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooStackCmds.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ooStackCmds.h 2 Sep 2005 14:27:10 -0000 1.5
+++ ooStackCmds.h 16 Sep 2005 19:29:17 -0000 1.6
@@ -116,7 +116,7 @@
*
* @return OO_OK, on success. OO_FAILED, on failure.
*/
-EXTERN int ooSendDTMFDigit(char *callToken, char* alphanumeric);
+EXTERN int ooSendDTMFDigit(char *callToken, char* alpha);
/**
* This function is invoked from the main event handling loop to
Index: ooh323ep.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooh323ep.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ooh323ep.c 2 Sep 2005 14:27:10 -0000 1.5
+++ ooh323ep.c 16 Sep 2005 19:29:17 -0000 1.6
@@ -116,13 +116,14 @@
ooH323EpSetCallerID(DEFAULT_CALLERID);
-
+
gH323ep.myCaps = NULL;
gH323ep.noOfCaps = 0;
gH323ep.callList = NULL;
gH323ep.dtmfmode = 0;
gH323ep.callingPartyNumber[0]='\0';
gH323ep.callMode = callMode;
+ gH323ep.isGateway = FALSE;
#ifdef _WIN32
InitializeCriticalSection(&gCmdMutex);
InitializeCriticalSection(&gCallTokenMutex);
@@ -155,6 +156,12 @@
return OO_OK;
}
+EXTERN int ooH323EpSetAsGateway()
+{
+ gH323ep.isGateway = TRUE;
+ return OO_OK;
+}
+
int ooH323EpSetLocalAddress(char * localip, int listenport)
{
if(localip)
Index: ooh323ep.h
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooh323ep.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ooh323ep.h 2 Sep 2005 14:27:10 -0000 1.6
+++ ooh323ep.h 16 Sep 2005 19:29:17 -0000 1.7
@@ -144,6 +144,7 @@
struct ooGkClient *gkClient;
DList stkCmdList; /* stack command list */
OOInterface *ifList; /* interface list for the host we are running on*/
+ OOBOOL isGateway;
} OOH323EndPoint;
#define ooEndPoint OOH323EndPoint
@@ -162,6 +163,14 @@
/**
+ * This function is used to represent the H.323 application endpoint as
+ * gateway, instead of an H.323 phone endpoint.
+ *
+ * @return OO_OK, on success. OO_FAILED, on failure.
+ */
+EXTERN int ooH323EpSetAsGateway();
+
+/**
* This function is used to assign a local ip address to be used for call
* signalling.
* @param localip Dotted IP address to be used for call signalling.
Index: ooq931.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooq931.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- ooq931.c 6 Sep 2005 17:25:40 -0000 1.15
+++ ooq931.c 16 Sep 2005 19:29:17 -0000 1.16
@@ -891,7 +891,12 @@
call->callIdentifier.guid.numocts);
callProceeding->protocolIdentifier = gProtocolID;
- callProceeding->destinationInfo.m.terminalPresent = TRUE;
+ /* Pose as Terminal or Gateway */
+ if(gH323ep.isGateway)
+ callProceeding->destinationInfo.m.gatewayPresent = TRUE;
+ else
+ callProceeding->destinationInfo.m.terminalPresent = TRUE;
+
callProceeding->destinationInfo.m.vendorPresent = 1;
vendor = &callProceeding->destinationInfo.vendor;
if(gH323ep.productID)
@@ -1004,7 +1009,12 @@
call->callIdentifier.guid.numocts);
alerting->protocolIdentifier = gProtocolID;
- alerting->destinationInfo.m.terminalPresent = TRUE;
+ /* Pose as Terminal or Gateway */
+ if(gH323ep.isGateway)
+ alerting->destinationInfo.m.gatewayPresent = TRUE;
+ else
+ alerting->destinationInfo.m.terminalPresent = TRUE;
+
alerting->destinationInfo.m.vendorPresent = 1;
vendor = &alerting->destinationInfo.vendor;
if(gH323ep.productID)
@@ -1320,7 +1330,12 @@
connect->protocolIdentifier = gProtocolID;
- connect->destinationInfo.m.terminalPresent = TRUE;
+ /* Pose as Terminal or Gateway */
+ if(gH323ep.isGateway)
+ connect->destinationInfo.m.gatewayPresent = TRUE;
+ else
+ connect->destinationInfo.m.terminalPresent = TRUE;
+
connect->destinationInfo.m.vendorPresent = 1;
vendor = &connect->destinationInfo.vendor;
@@ -2013,7 +2028,11 @@
}
/* Populate the vendor information */
- setup->sourceInfo.m.terminalPresent = TRUE;
+ if(gH323ep.isGateway)
+ setup->sourceInfo.m.gatewayPresent = TRUE;
+ else
+ setup->sourceInfo.m.terminalPresent = TRUE;
+
setup->sourceInfo.m.vendorPresent=TRUE;
setup->sourceInfo.vendor.vendor.t35CountryCode = gH323ep.t35CountryCode;
setup->sourceInfo.vendor.vendor.t35Extension = gH323ep.t35Extension;
Index: ooq931.h
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ooq931.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ooq931.h 2 Sep 2005 14:27:10 -0000 1.6
+++ ooq931.h 16 Sep 2005 19:29:17 -0000 1.7
@@ -477,6 +477,18 @@
*/
EXTERN int ooSendFacility(struct OOH323CallData *call);
+
+/**
+ * This function is used to send dtmf data as Q931 keypad information element
+ * as part of information message.
+ * @param call Pointer to the call for dtmf data has to be sent.
+ * @param data Dtmf data to be sent.
+ *
+ * @return OO_OK, on success; OO_FAILED, on failure.
+ */
+EXTERN int ooQ931SendDTMFAsKeyPadIE
+ (struct OOH323CallData *call, const char* data);
+
/**
* This function is invoked to send a Connect message in response to received
* setup message.
Index: ootrace.c
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ootrace.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ootrace.c 28 Aug 2005 19:28:19 -0000 1.4
+++ ootrace.c 16 Sep 2005 19:29:17 -0000 1.5
@@ -17,7 +17,6 @@
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>
-#include <time.h>
#include "ootypes.h"
#include "ootrace.h"
Index: ootypes.h
===================================================================
RCS file: /usr/cvsroot/asterisk-addons/asterisk-ooh323c/ooh323c/src/ootypes.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ootypes.h 2 Sep 2005 14:27:10 -0000 1.6
+++ ootypes.h 16 Sep 2005 19:29:17 -0000 1.7
@@ -160,28 +160,29 @@
#define OOConnect 106
#define OOReleaseComplete 107
#define OOFacility 108
-#define OOMasterSlaveDetermination 109
-#define OOMasterSlaveAck 110
-#define OOMasterSlaveReject 111
-#define OOMasterSlaveRelease 112
-#define OOTerminalCapabilitySet 113
-#define OOTerminalCapabilitySetAck 114
-#define OOTerminalCapabilitySetReject 115
-#define OOTerminalCapabilitySetRelease 116
-#define OOOpenLogicalChannel 117
-#define OOOpenLogicalChannelAck 118
-#define OOOpenLogicalChannelReject 119
-#define OOOpenLogicalChannelRelease 120
-#define OOOpenLogicalChannelConfirm 121
-#define OOCloseLogicalChannel 122
-#define OOCloseLogicalChannelAck 123
-#define OORequestChannelClose 124
-#define OORequestChannelCloseAck 125
-#define OORequestChannelCloseReject 126
-#define OORequestChannelCloseRelease 127
-#define OOEndSessionCommand 128
-#define OOUserInputIndication 129
-#define OOInformationMessage 130
+#define OOInformationMessage 109
+#define OOMasterSlaveDetermination 110
+#define OOMasterSlaveAck 111
+#define OOMasterSlaveReject 112
+#define OOMasterSlaveRelease 113
+#define OOTerminalCapabilitySet 114
+#define OOTerminalCapabilitySetAck 115
+#define OOTerminalCapabilitySetReject 116
+#define OOTerminalCapabilitySetRelease 117
+#define OOOpenLogicalChannel 118
+#define OOOpenLogicalChannelAck 119
+#define OOOpenLogicalChannelReject 120
+#define OOOpenLogicalChannelRelease 121
+#define OOOpenLogicalChannelConfirm 122
+#define OOCloseLogicalChannel 123
+#define OOCloseLogicalChannelAck 124
+#define OORequestChannelClose 125
+#define OORequestChannelCloseAck 126
+#define OORequestChannelCloseReject 127
+#define OORequestChannelCloseRelease 128
+#define OOEndSessionCommand 129
+#define OOUserInputIndication 130
+
#define OO_MSGTYPE_MAX 130
/* Timer types */
_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs