Objective Systems, Inc.  

ooh245.h File Reference

This file contains functions to support H245 negotiations. More...

#include "ooasn1.h"
#include "ooCapability.h"
#include "oochannels.h"
#include "ootrace.h"
#include "ooq931.h"
#include "MULTIMEDIA-SYSTEM-CONTROL.h"

Go to the source code of this file.

Data Structures

struct  H245Message
 Defines the H.245 message structure. More...

Functions

EXTERN int ooCreateH245Message (H245Message **msg, int type)
 Creates an outgoing H245 message of the type specified by the type argument for the Application context.
EXTERN int ooFreeH245Message (struct OOH323CallData *call, H245Message *pmsg)
 Frees up the memory used by the H245 message.
EXTERN int ooSendH245Msg (struct OOH323CallData *call, H245Message *msg)
 This function is used to enqueue an H.245 message into an outgoing queue for the call.
EXTERN int ooGetOutgoingH245Msgbuf (struct OOH323CallData *call, ASN1OCTET *msgbuf, int *len, int *msgType)
 This function is used to retrieve an H.245 message enqueued in the outgoing queue.
EXTERN int ooSendTermCapMsg (struct OOH323CallData *call)
 This function is used to send out a terminal capability set message.
EXTERN ASN1UINT ooGenerateStatusDeterminationNumber ()
 This function is used to generate a random status determination number for MSD procedure.
EXTERN int ooHandleMasterSlave (struct OOH323CallData *call, void *pmsg, int msgType)
 This fuction is used to handle received MasterSlaveDetermination procedure messages.
EXTERN int ooSendMasterSlaveDetermination (struct OOH323CallData *call)
 This function is used to send MSD message.
EXTERN int ooSendMasterSlaveDeterminationAck (struct OOH323CallData *call, char *status)
 This function is used to send a MasterSlaveDeterminationAck message.
EXTERN int ooSendMasterSlaveDeterminationReject (struct OOH323CallData *call)
 This function is used to send a MasterSlaveDeterminationReject message.
EXTERN int ooHandleMasterSlaveReject (struct OOH323CallData *call, H245MasterSlaveDeterminationReject *reject)
 This function is used to handle MasterSlaveReject message.
EXTERN int ooHandleOpenLogicalChannel (struct OOH323CallData *call, H245OpenLogicalChannel *olc)
 This function is used to handle received OpenLogicalChannel message.
EXTERN int ooHandleOpenLogicalChannel_helper (struct OOH323CallData *call, H245OpenLogicalChannel *olc)
 This is a helper function used to handle a received OpenLogicalChannel message.
int ooSendOpenLogicalChannelReject (struct OOH323CallData *call, ASN1UINT channelNum, ASN1UINT cause)
 This function is used to build and send OpenLogicalChannelReject message.
EXTERN int ooOnReceivedOpenLogicalChannelAck (struct OOH323CallData *call, H245OpenLogicalChannelAck *olcAck)
 This function is used to handle a received OpenLogicalChannelAck message.
int ooOnReceivedOpenLogicalChannelRejected (struct OOH323CallData *call, H245OpenLogicalChannelReject *olcRejected)
 This function is used to handle the received OpenLogicalChannelReject message.
EXTERN int ooSendEndSessionCommand (struct OOH323CallData *call)
 This message is used to send an EndSession command.
EXTERN int ooHandleH245Command (struct OOH323CallData *call, H245CommandMessage *command)
 This function is used to handle a received H245Command message.
EXTERN int ooOnReceivedUserInputIndication (OOH323CallData *call, H245UserInputIndication *indication)
 This function is used to handle a received UserInput Indication message.
EXTERN int ooOnReceivedTerminalCapabilitySetAck (struct OOH323CallData *call)
 This function is called on receiving a TreminalCapabilitySetAck message.
EXTERN int ooCloseAllLogicalChannels (struct OOH323CallData *call)
 This function is called to close all the open logical channels.
EXTERN int ooSendCloseLogicalChannel (struct OOH323CallData *call, ooLogicalChannel *logicalChan)
 This function is used to send out a CloseLogicalChannel message for a particular logical channel.
EXTERN int ooOnReceivedCloseLogicalChannel (struct OOH323CallData *call, H245CloseLogicalChannel *clc)
 This function is used to process a received closeLogicalChannel request.
EXTERN int ooOnReceivedCloseChannelAck (struct OOH323CallData *call, H245CloseLogicalChannelAck *clcAck)
 This function is used to process a received CloseLogicalChannelAck message.
EXTERN int ooHandleH245Message (struct OOH323CallData *call, H245Message *pmsg)
 This function is used to handle received H245 message.
EXTERN int ooOnReceivedTerminalCapabilitySet (struct OOH323CallData *call, H245Message *pmsg)
 This function is used to process received TCS message.
EXTERN int ooH245AcknowledgeTerminalCapabilitySet (struct OOH323CallData *call)
 This function is used to send a TCSAck message to remote endpoint.
EXTERN int ooOpenLogicalChannels (struct OOH323CallData *call)
 This function is used to start OpenLogicalChannel procedure for all the channels to be opened for the call.
EXTERN int ooOpenLogicalChannel (struct OOH323CallData *call, enum OOCapType capType)
 This function is used to send OpenLogicalChannel message for audio/video channel.
EXTERN int ooOpenChannel (struct OOH323CallData *call, ooH323EpCapability *epCap)
 This function is used to build and send OpenLogicalChannel message using capability passed as parameter.
EXTERN int ooSendH245UserInputIndication_alphanumeric (OOH323CallData *call, const char *data)
 This function is used to send dtmf digits as user input indication message contating alphanumeric string.
EXTERN int ooSendH245UserInputIndication_signal (OOH323CallData *call, const char *data)
 This function is used to send dtmf digits as user input indication message contating dtmf signal type.
EXTERN int ooSendRequestCloseLogicalChannel (struct OOH323CallData *call, ooLogicalChannel *logicalChan)
 This function is used to request a remote end point to close a logical channel.
int ooSendRequestChannelCloseRelease (struct OOH323CallData *call, int channelNum)
 This function is used to send a RequestChannelCloseRelease message when the corresponding timer has expired.
EXTERN int ooOnReceivedRequestChannelClose (struct OOH323CallData *call, H245RequestChannelClose *rclc)
 This function handles the received RequestChannelClose message, verifies that the requested channel is forward channel.
int ooOnReceivedRequestChannelCloseReject (struct OOH323CallData *call, H245RequestChannelCloseReject *rccReject)
 This function is used to handle a received RequestChannelCloseReject response message.
int ooOnReceivedRequestChannelCloseAck (struct OOH323CallData *call, H245RequestChannelCloseAck *rccAck)
 This function is used to handle a received RequestChannelCloseAck response message.
EXTERN int ooBuildFastStartOLC (struct OOH323CallData *call, H245OpenLogicalChannel *olc, ooH323EpCapability *epCap, OOCTXT *pctxt, int dir)
 Builds an OLC for faststart with an audio/video capability passed as parameter.
EXTERN int ooPrepareFastStartResponseOLC (OOH323CallData *call, H245OpenLogicalChannel *olc, ooH323EpCapability *epCap, OOCTXT *pctxt, int dir)
 Prepares a faststart response olc from the olc received in SETUP message.
EXTERN int ooEncodeH245Message (struct OOH323CallData *call, H245Message *ph245Msg, ASN1OCTET *msgbuf, size_t size)
 This function is used to encode an H245 message and return encoded data into the buffer passed as a parameter to the function.
int ooSendMasterSlaveDeterminationRelease (struct OOH323CallData *call)
 This function is used to send a master-slave determination release message.
int ooSendTerminalCapabilitySetReject (struct OOH323CallData *call, int seqNo, ASN1UINT cause)
 This function is used to send a terminal capability set reject message to the remote endpoint.
int ooSendTerminalCapabilitySetRelease (struct OOH323CallData *call)
 This function is used to send a TerminalCapabilitySetRelease message after capability exchange timer has expired.
int ooGetIpPortFromH245TransportAddress (OOH323CallData *call, H245TransportAddress *h245Address, char *ip, int *port)
 This is an helper function used to extract ip address and port info from H245TransportAddress structure.
int ooMSDTimerExpired (void *data)
 This is a callback function for handling an expired master-slave determination timer.
int ooTCSTimerExpired (void *data)
 This is a callback function for handling an expired capability exchange timer.
int ooOpenLogicalChannelTimerExpired (void *pdata)
 This is a callback function for handling an expired OpenLogicalChannel timer.
int ooCloseLogicalChannelTimerExpired (void *pdata)
 This is a callback function for handling an expired CloseLogicalChannel timer.
int ooRequestChannelCloseTimerExpired (void *pdata)
 This is a callback function for handling an expired RequestChannelClose timer.
int ooSessionTimerExpired (void *pdata)
 This is a callback function for handling an expired EndSession timer.


Detailed Description

This file contains functions to support H245 negotiations.

Definition in file ooh245.h.


This file was last modified on 28 May 2010.
Objective Open H.323 Stack, 0.9.1