From 7415f890e307692d37a553fb35c86eed38c42fb4 Mon Sep 17 00:00:00 2001 From: pcadach Date: Sun, 24 Sep 2006 18:19:56 +0000 Subject: Define Cisco RTP capability git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43573 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/h323/caps_h323.cxx | 24 ++++++++++++++++++++++++ channels/h323/caps_h323.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) (limited to 'channels/h323') diff --git a/channels/h323/caps_h323.cxx b/channels/h323/caps_h323.cxx index 32dac01f1..1a14e2337 100644 --- a/channels/h323/caps_h323.cxx +++ b/channels/h323/caps_h323.cxx @@ -344,3 +344,27 @@ PString AST_CiscoG726Capability::GetFormatName() const { return PString(CISCO_G726r32); } + +/* + * Capability: Cisco RTP DTMF Relay + */ +AST_CiscoDtmfCapability::AST_CiscoDtmfCapability() + : H323NonStandardDataCapability(0, 181, 0, 18, (const BYTE *)"RtpDtmfRelay", 0) +{ + rtpPayloadType = (RTP_DataFrame::PayloadTypes)121; +} + +PObject *AST_CiscoDtmfCapability::Clone() const +{ + return new AST_CiscoDtmfCapability(*this); +} + +H323Codec *AST_CiscoDtmfCapability::CreateCodec(H323Codec::Direction direction) const +{ + return NULL; +} + +PString AST_CiscoDtmfCapability::GetFormatName() const +{ + return PString(CISCO_DTMF_RELAY); +} diff --git a/channels/h323/caps_h323.h b/channels/h323/caps_h323.h index 3238dd5c6..8058054db 100644 --- a/channels/h323/caps_h323.h +++ b/channels/h323/caps_h323.h @@ -140,4 +140,33 @@ public: /* Get the name of the media data format this class represents. */ virtual PString GetFormatName() const; }; + +#define CISCO_DTMF_RELAY "UserInput/RtpDtmfRelay" + +class AST_CiscoDtmfCapability : public H323NonStandardDataCapability +{ + PCLASSINFO(AST_CiscoDtmfCapability, H323NonStandardDataCapability); + +public: + /* Create a new Cisco RTP DTMF Relay capability */ + AST_CiscoDtmfCapability(); + + /* Create a copy of the object. */ + virtual PObject *Clone() const; + + /* Create the codec instance, allocating resources as required. */ + virtual H323Codec * CreateCodec(H323Codec::Direction direction) const; + + /* Get the name of the media data format this class represents. */ + virtual PString GetFormatName() const; + + virtual H323Channel *CreateChannel(H323Connection &, + H323Channel::Directions, + unsigned, + const H245_H2250LogicalChannelParameters *) const + { + return NULL; + } +}; + #endif /* __AST_H323CAPS_H */ -- cgit v1.2.3