[Asterisk-cvs] asterisk-addons/asterisk-ooh323c/ooh323c/src ooCalls.h, 1.5, 1.6 ooGkClient.c, 1.7, 1.8 ooStackCmds.c, 1.6, 1.7 ooStackCmds.h, 1.5, 1.6 ooh323ep.c, 1.5, 1.6 ooh323ep.h, 1.6, 1.7 ooq931.c, 1.15, 1.16 ooq931.h, 1.6, 1.7 ootrace.c, 1.4, 1.5 ootypes.h, 1.6, 1.7

vphirke vphirke
Fri Sep 16 15:31:00 CDT 2005


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 */




More information about the svn-commits mailing list