43 #ifndef OPAL_H460_H4601_H
44 #define OPAL_H460_H4601_H
57 #include <ptlib/pluginmgr.h>
58 #include <ptclib/url.h>
62 #pragma warning(disable:4100)
86 )
const {
return FALSE;};
103 {
return (*
this)[GetSize()-1]; }
149 operator unsigned ()
const
150 {
return ((PASN_Integer *)choice)->GetValue(); };
155 {
return (
OpalOID &)*choice; };
159 operator PString ()
const
160 {
return ((H225_GloballyUniqueID *)choice)->AsString(); };
178 PObject *
Clone()
const;
180 PObject::Comparison
Compare(
const PObject & obj)
const;
262 operator PASN_OctetString ()
const {
return *((PASN_OctetString *)choice); };
263 operator PString ()
const
267 return ((PASN_IA5String &)*choice).GetValue();
277 operator PASN_BMPString ()
const {
return *(PASN_BMPString *)choice; };
278 operator PBoolean ()
const {
return *(PASN_Boolean *)choice; };
280 operator unsigned ()
const
286 return *(PASN_Integer*)choice;
293 operator H225_AliasAddress ()
const {
return *(H225_AliasAddress *)choice; };
349 { IncludeOptionalField(e_content); m_content = con; };
361 {
return (GetTag() == e_content); };
368 operator PASN_OctetString &();
369 operator PString &();
370 operator PASN_BMPString &();
371 operator PBoolean ();
372 operator unsigned ();
374 operator H225_AliasAddress &();
376 operator H225_ArrayOf_EnumeratedParameter &();
382 const PASN_OctetString & value
386 const PString & value
390 const PASN_BMPString & value
394 const PBoolean & value
398 const unsigned & value
406 const H225_AliasAddress & value
574 H460_Feature(
const H225_FeatureDescriptor & descriptor);
729 PPluginManager * pluginMgr = NULL
927 void Remove(
const PString &
id);
973 void Remove(
const PString &
id);
985 PBoolean
Contains(
const PString &
id);
1059 virtual PBoolean
LoadFeature(
const PString & featid);
1080 void ReceiveFeature(
unsigned id,
const H225_FeatureSet & Message);
1085 PBoolean
SendFeature(
unsigned id, H225_FeatureSet & Message);
1124 virtual PStringArray
GetDeviceNames(
int )
const {
return className::GetFeatureFriendlyName(); }
1127 PStringList devices = className::GetFeatureName();
1128 if ((deviceName == devices[0]) &&
1129 (className::GetPurpose() >= userData) &&
1130 (className::GetPurpose() < userData*2)) {
1138 #define H460_FEATURE(name) \
1139 static H460PluginServiceDescriptor<H460_Feature##name> H460_Feature##name##_descriptor; \
1140 PCREATE_PLUGIN(H460_Feature##name##, H460_Feature, &H460_Feature##name##_descriptor); \
1144 #pragma warning(disable:4100)
1149 #endif // OPAL_H460_H4601_H
Create Startup use RAS and Signal.
Definition: h4601.h:590
virtual PBoolean OnSendLocationReject(H225_FeatureDescriptor &)
Definition: h4601.h:787
Desired Feature.
Definition: h4601.h:583
virtual void OnReceiveInfoRequestResponseMessage(const H225_FeatureDescriptor &)
Definition: h4601.h:812
virtual void ReplaceParameter(const H460_FeatureID id, const H460_FeatureContent &con)
virtual void OnReceiveGatekeeperRequest(const H225_FeatureDescriptor &)
Definition: h4601.h:765
int GetParameterCount()
Definition: h4601.h:694
virtual PObject * CreateInstance(int) const
Definition: h4601.h:1123
virtual bool ValidateDeviceName(const PString &deviceName, int userData) const
Definition: h4601.h:1125
Create Startup use only Startup.
Definition: h4601.h:589
virtual void AttachEndPoint(H323EndPoint *_ep)
Create Registering GK.
Definition: h4601.h:593
static PStringList GetFeatureName()
Definition: h4601.h:733
virtual PBoolean OnSendCallProceeding_UUIE(H225_FeatureDescriptor &)
Definition: h4601.h:830
virtual PBoolean OnSendLocationRequest(H225_FeatureDescriptor &)
Definition: h4601.h:785
H460_FeatureParameter & operator[](const H460_FeatureID &id) const
Definition: h4601.h:684
virtual void AttachBaseFeatureSet(H460_FeatureSet *_baseSet)
The Feature is Needed.
Definition: h4601.h:582
H460_FeatureParameter & operator[](OpalOID id) const
Definition: h4601.h:995
H460_FeatureTable * CurrentTable
Definition: h4601.h:857
int ParameterCount()
Definition: h4601.h:517
void Replace(unsigned id, const H460_FeatureContent &con)
void SetFeatureID(const H460_FeatureID &id)
Definition: h4601.h:619
void SetCurrentTable(H460_FeatureTable &table)
H323EndPoint * ep
Definition: h4601.h:858
H460_FeatureParameter & Value(const PString &id)
const H460_FeatureID ID()
Definition: h4601.h:344
H460_FeatureParameter & Value(const H460_FeatureID &id)
void addContent(const H460_FeatureContent &con)
Definition: h4601.h:348
virtual void OnReceivedPDU(const H225 &)
Definition: h4601.h:76
virtual PBoolean LoadFeature(const PString &featid)
PString PTracePDU(PINDEX id) const
virtual PBoolean OnSendReleaseComplete_UUIE(H225_FeatureDescriptor &)
Definition: h4601.h:839
void ReadFeaturePDU(H460_Feature &Feat, const H225_FeatureDescriptor &pdu, unsigned MessageID)
H460_FeatureContent operator=(const PASN_OctetString &value)
virtual void OnReceiveRegistrationConfirm(const H225_FeatureDescriptor &)
Definition: h4601.h:774
virtual PBoolean OnSendNonStandardMessage(H225_FeatureDescriptor &)
Definition: h4601.h:799
H460_FeatureNonStd(PString Identifier)
H460_FeatureSet * DeriveNewFeatureSet()
void replaceContent(const H460_FeatureContent &con)
Definition: h4601.h:353
PBoolean hasContent()
Definition: h4601.h:360
virtual void OnReceivedUnAllocatedPDU(const H225_FeatureDescriptor &)
Definition: h4601.h:843
enum H460_Feature::@22 FeatureCategory
H460_FeatureSet * baseSet
Definition: h4601.h:1114
virtual PBoolean OnSendGatekeeperRequest(H225_FeatureDescriptor &)
Definition: h4601.h:761
PBoolean ProcessFirstPDU(const H225_FeatureSet &fs)
H460_FeatureParameter & operator()(PINDEX id) const
Definition: h4601.h:674
PString GetFeatureIDAsString()
PBoolean HasFeature(const H460_FeatureID &feat)
H460_Features Features
Definition: h4601.h:1112
H323EndPoint * GetEndPoint()
Definition: h4601.h:1097
virtual PBoolean OnSendRegistrationReject(H225_FeatureDescriptor &)
Definition: h4601.h:771
virtual PBoolean OnSendCallConnect_UUIE(H225_FeatureDescriptor &)
Definition: h4601.h:833
virtual PBoolean OnSendGatekeeperReject(H225_FeatureDescriptor &)
Definition: h4601.h:763
void RemoveFeature(H460_FeatureID id)
H460_FeatureParameter & operator[](PINDEX id) const
Definition: h4601.h:530
H460_FeatureParameter & Add(unsigned id, const H460_FeatureContent &con)
virtual void OnReceiveLocationConfirm(const H225_FeatureDescriptor &)
Definition: h4601.h:790
virtual void RemoveParameter(PINDEX id)
virtual PBoolean OnSendServiceControlIndication(H225_FeatureDescriptor &)
Definition: h4601.h:793
virtual void AttachEndPoint(H323EndPoint *_ep)
PBoolean Contains(const PString &id)
H460_FeatureID GetFeatureIDPDU(H225_FeatureDescriptor &pdu)
H460_FeatureParameter & GetParameter(PINDEX id)
virtual void OnReceiveCallConnect_UUIE(const H225_FeatureDescriptor &)
Definition: h4601.h:834
unsigned GetLastIdentifier()
Definition: h4601.h:102
static PStringList GetFeatureFriendlyName()
Definition: h4601.h:737
PBoolean SendFeature(unsigned id, H225_FeatureSet &Message)
virtual void OnReceiveReleaseComplete_UUIE(const H225_FeatureDescriptor &)
Definition: h4601.h:840
void ReadFeatureSetPDU(const H225_FeatureSet &fs, unsigned MessageID)
Supported Feature.
Definition: h4601.h:584
void Replace(const PString &id, const H460_FeatureContent &con)
virtual PBoolean OnSendDisengagementRequestMessage(H225_FeatureDescriptor &)
Definition: h4601.h:814
PBoolean ParameterIsUnique(const H460_FeatureID &id)
virtual PBoolean OnSendServiceControlResponse(H225_FeatureDescriptor &)
Definition: h4601.h:794
virtual PBoolean OnSendGatekeeperConfirm(H225_FeatureDescriptor &)
Definition: h4601.h:762
H460_FeatureStd()
Definition: h4601.h:869
PBoolean AddFeature(H460_Feature *Nfeat)
virtual void OnReceiveAdmissionConfirm(const H225_FeatureDescriptor &)
Definition: h4601.h:782
virtual PBoolean OnSendAdmissionRequest(H225_FeatureDescriptor &)
Definition: h4601.h:777
H460_FeatureParameter & Add(const PString &id, const H460_FeatureContent &con)
virtual PBoolean OnSendUnregistrationRequest(H225_FeatureDescriptor &)
Definition: h4601.h:802
virtual PBoolean OnSendUnAllocatedPDU(H225_FeatureDescriptor &)
Definition: h4601.h:842
H460_FeatureParameter & GetParameter(unsigned id)
virtual PBoolean OnSendDisengagementConfirmMessage(H225_FeatureDescriptor &)
Definition: h4601.h:817
virtual void OnReceiveLocationReject(const H225_FeatureDescriptor &)
Definition: h4601.h:791
void ReplaceParameter(const H460_FeatureID &id, const H460_FeatureContent &con)
virtual void OnReceiveAdmissionRequest(const H225_FeatureDescriptor &)
Definition: h4601.h:781
static int GetPurpose()
Definition: h4601.h:742
PINLINE H460_FeatureID & operator=(unsigned ID)
virtual PBoolean OnSendLocationConfirm(H225_FeatureDescriptor &)
Definition: h4601.h:786
PBoolean CreateFeatureSetPDU(H225_FeatureSet &fs, unsigned MessageID)
virtual PBoolean LoadFeatureSet(int inst=H460_Feature::FeatureBase, H323Connection *con=NULL)
H460_FeatureParameter & AddParameter(const H460_FeatureID &id, const H460_FeatureContent &con)
#define TRUE
Definition: lidplugin.h:71
Create Base use Signal.
Definition: h4601.h:592
virtual H460_FeatureParameter & AddParameter(H460_FeatureID *id, const H460_FeatureContent &con)
virtual PBoolean OnSendAlerting_UUIE(H225_FeatureDescriptor &)
Definition: h4601.h:827
virtual void OnReceiveNonStandardMessage(const H225_FeatureDescriptor &)
Definition: h4601.h:800
virtual PBoolean OnSendRegistrationConfirm(H225_FeatureDescriptor &)
Definition: h4601.h:770
virtual PBoolean OnSendInfoRequestResponseMessage(H225_FeatureDescriptor &)
Definition: h4601.h:811
H460_Feature * GetFeature(const H460_FeatureID &id)
virtual void AttachConnection(H323Connection *_con)
virtual void OnReceiveDisengagementRequestMessage(const H225_FeatureDescriptor &)
Definition: h4601.h:815
virtual void OnReceiveGatekeeperConfirm(const H225_FeatureDescriptor &)
Definition: h4601.h:766
virtual void OnReceiveRegistrationReject(const H225_FeatureDescriptor &)
Definition: h4601.h:775
virtual void OnReceiveServiceControlResponse(const H225_FeatureDescriptor &)
Definition: h4601.h:797
virtual void OnReceiveInfoRequestMessage(const H225_FeatureDescriptor &)
Definition: h4601.h:809
unsigned GetFeatureType()
Definition: h4601.h:627
virtual void OnReceiveDisengagementConfirmMessage(const H225_FeatureDescriptor &)
Definition: h4601.h:818
OpalOID & operator+(const char *)
Definition: h323con.h:130
H323EndPoint * ep
Definition: h4601.h:1113
PBoolean CreateFeaturePDU(H460_Feature &Feat, H225_FeatureDescriptor &pdu, unsigned MessageID)
virtual void OnReceiveLocationRequest(const H225_FeatureDescriptor &)
Definition: h4601.h:789
void Remove(const PString &id)
virtual PStringArray GetDeviceNames(int) const
Definition: h4601.h:1124
H460_FeatureParameter & operator[](PString id) const
Definition: h4601.h:941
virtual PBoolean OnSendSetup_UUIE(H225_FeatureDescriptor &)
Definition: h4601.h:824
virtual void OnReceiveGatekeeperReject(const H225_FeatureDescriptor &)
Definition: h4601.h:767
PBoolean HasFeatureParameter(const H460_FeatureID &id)
H460_FeatureParameter & GetFeatureParameter(PINDEX id)
PBoolean HasParameter(OpalOID id)
void RemoveParameter(PINDEX id)
PBoolean HasParameter(PString id)
virtual PBoolean OnSendRegistrationRequest(H225_FeatureDescriptor &)
Definition: h4601.h:769
PBoolean Contains(const H460_FeatureID &id)
PBoolean HasParameter(const H460_FeatureID &id)
virtual PBoolean OnSendAdmissionConfirm(H225_FeatureDescriptor &)
Definition: h4601.h:778
#define FALSE
Definition: lidplugin.h:68
virtual PBoolean OnSendFacility_UUIE(H225_FeatureDescriptor &)
Definition: h4601.h:836
virtual PBoolean OnSendingPDU(H225 &) const
Definition: h4601.h:84
H460_FeatureParameter & Add(const PString id, const H460_FeatureContent &con)
Create Call Setup.
Definition: h4601.h:594
virtual void OnReceiveCallProceeding_UUIE(const H225_FeatureDescriptor &)
Definition: h4601.h:831
H460_FeatureTable & GetCurrentTable()
virtual void OnReceiveAlerting_UUIE(const H225_FeatureDescriptor &)
Definition: h4601.h:828
virtual PBoolean CreateFeatureSet(const H225_FeatureSet &fs)
void Remove(const PString &id)
PINDEX GetParameterIndex(const H460_FeatureID &id)
static H460_Feature * CreateFeature(const PString &featurename, int FeatureType=FeatureBase, PPluginManager *pluginMgr=NULL)
void ReceiveFeature(unsigned id, const H225_FeatureSet &Message)
virtual void OnReceiveEndpoint(const H225_FeatureDescriptor &)
Definition: h4601.h:806
virtual void OnReceiveAdmissionReject(const H225_FeatureDescriptor &)
Definition: h4601.h:783
virtual PBoolean OnSendInfoRequestMessage(H225_FeatureDescriptor &)
Definition: h4601.h:808
static PStringList GetFeatureNames(PPluginManager *pluginMgr=NULL)
#define OpalGloballyUniqueID
Definition: guid.h:42
virtual void OnReceiveServiceControlIndication(const H225_FeatureDescriptor &)
Definition: h4601.h:796
Create Startup use RAS.
Definition: h4601.h:591
virtual void OnReceiveRegistrationRequest(const H225_FeatureDescriptor &)
Definition: h4601.h:773
H460_FeatureOID(OpalOID Identifier)
virtual void OnReceiveFacility_UUIE(const H225_FeatureDescriptor &)
Definition: h4601.h:837
PDICTIONARY(H460_Features, H460_FeatureID, H460_Feature)
virtual PBoolean OnSendAdmissionReject(H225_FeatureDescriptor &)
Definition: h4601.h:779
Definition: transaddr.h:66
static PStringList GetFeatureFriendlyNames(const PString &feature, PPluginManager *pluginMgr=NULL)
PBoolean HasParameter(unsigned id)
virtual PBoolean OnSendEndpoint(H225_FeatureDescriptor &)
Definition: h4601.h:805
virtual void OnReceiveUnregistrationRequest(const H225_FeatureDescriptor &)
Definition: h4601.h:803
PObject::Comparison Compare(const PObject &obj) const
H460_FeatureID GetFeatureID()
Definition: h4601.h:615
H460_FeatureParameter & operator[](unsigned id)
Definition: h4601.h:901
enum H460_Feature::@23 FeatureInstance
void Replace(const PString &id, const H460_FeatureContent &con)
virtual void OnReceiveSetup_UUIE(const H225_FeatureDescriptor &)
Definition: h4601.h:825
unsigned GetFeatureType() const
Definition: h4601.h:171
H323Connection * con
Definition: h4601.h:859