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

Reply via email to