31 #ifndef OPAL_H323_H450PDU_H
32 #define OPAL_H323_H450PDU_H
43 #include <asn/h4501.h>
44 #include <asn/h4502.h>
46 #include <asn/h4507.h>
53 class H4501_EndpointAddress;
54 class H4501_InterpretationApdu;
64 X880_Invoke&
BuildInvoke(
int invokeId,
int operation);
70 const PString & callIdentity,
71 const PString & alias,
77 const PString & callIdentity);
81 H4507_H323_MWI_Operations &mwiOp,
82 PASN_Sequence &argument);
84 H4507_MWIInterrogateRes &interrogateResult);
134 PASN_OctetString * argument
138 X880_ReturnResult & returnResult
143 X880_ReturnError & returnError
164 PASN_OctetString * argString,
165 PASN_Object & argObject,
224 virtual PBoolean
OnReceivedInvoke(X880_Invoke& invoke, H4501_InterpretationApdu& interpretation);
300 PASN_OctetString * argument
319 PASN_OctetString * argument
326 PASN_OctetString * argument
333 PASN_OctetString * argument
340 PASN_OctetString * argument
347 PASN_OctetString * argument
354 PASN_OctetString * argument
358 X880_ReturnResult & returnResult
382 X880_ReturnError & returnError
390 const bool timerExpiry =
false
401 const bool timerExpiry =
false
409 const bool timerExpiry =
false
417 const PString & remoteParty,
418 const PString & callIdentity
426 const PString & primaryCallToken
432 const PString & callIdentity,
437 const PString & token,
438 const PString & identity
470 const int returnError
535 PASN_OctetString * argument
607 PASN_OctetString * argument
614 PASN_OctetString *argument
624 unsigned numberOfCallsWaiting = 0
657 PASN_OctetString * argument
665 H4507_H323_MWI_Operations &mwiOp,
666 PASN_Sequence &argument);
671 H4507_MWIInterrogateRes &interrogateResult);
673 H4507_MessageWaitingIndicationErrors error);
718 PASN_OctetString * argument
725 PASN_OctetString *argument
732 PASN_OctetString *argument
739 PASN_OctetString *argument
746 PASN_OctetString *argument
753 PASN_OctetString *argument
760 PASN_OctetString *argument
767 PASN_OctetString *argument
774 PASN_OctetString *argument
781 PASN_OctetString *argument
788 PASN_OctetString *argument
792 X880_ReturnResult & returnResult
799 X880_ReturnError & returnError
804 const bool timerExpiry =
false
808 X880_ReturnResult & returnResult
813 const bool timerExpiry =
false
819 const PString & token,
820 const PString & identity
824 const PString & intrusionCallToken,
825 unsigned intrusionCICL
927 #endif // OPAL_H323_H450PDU_H
PString transferringCallToken
Definition: h450pdu.h:510
virtual void AttachToSetup(H323SignalPDU &pdu)
virtual void AttachToAlerting(H323SignalPDU &pdu)
Definition: h450pdu.h:850
void BuildInterrogateResult(int invokeId, H4507_MWIInterrogateRes &interrogateResult)
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
void BuildMessageWaiting(int invokeId, H4507_H323_MWI_Operations &mwiOp, PASN_Sequence &argument)
PBoolean WriteFacilityPDU(H323Connection &connection)
virtual void OnReceivedCallTransferComplete(int linkedId, PASN_OctetString *argument)
SendState
Definition: h450pdu.h:868
Definition: h450pdu.h:630
PDICTIONARY(H450xHandlerDict, POrdinalKey, H450xHandler)
virtual void OnReceivedCallTransferIdentify(int linkedId)
PARRAY(H450xHandlerArray, H450xHandler)
void SendInvokeReject(int invokeId, int problem)
PTimer ctTimer
Definition: h450pdu.h:514
void SendReturnError(int returnError)
virtual PBoolean OnReceivedReject(int problemType, int problemNumber)
virtual PBoolean OnReceivedReturnError(int errorCode, X880_ReturnError &returnError)
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:871
virtual PBoolean OnReceivedInvoke(X880_Invoke &invoke, H4501_InterpretationApdu &interpretation)
Definition: h450pdu.h:447
H450xDispatcher & dispatcher
Definition: h450pdu.h:175
PString activeCallToken
Definition: h450pdu.h:916
State GetState() const
Definition: h450pdu.h:586
PBoolean ctResponseSent
Definition: h450pdu.h:513
virtual void AttachToAlerting(H323SignalPDU &pdu)
Definition: h450pdu.h:878
PBoolean IsctTimerRunning()
Definition: h450pdu.h:905
void AttachSupplementaryServiceAPDU(H323SignalPDU &pdu)
Definition: h450pdu.h:853
H450xDispatcher(H323Connection &connection)
static void ParseEndpointAddress(H4501_EndpointAddress &address, PString &party)
State mwiState
Definition: h450pdu.h:685
Definition: h450pdu.h:848
Definition: h450pdu.h:183
Definition: h450pdu.h:858
virtual void AttachToAlerting(H323SignalPDU &pdu, unsigned numberOfCallsWaiting=0)
State
Definition: h450pdu.h:841
void OnReceivedCIRequestResult()
Definition: h450pdu.h:884
H4507Handler(H323Connection &connection, H450xDispatcher &dispatcher)
H450xHandlerDict opcodeHandler
Definition: h450pdu.h:266
void IntrudeCall(int CICL)
Definition: h450pdu.h:677
State holdState
Definition: h450pdu.h:590
Definition: h450pdu.h:862
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
void SetForcedReleaseAccepted()
const H323Connection & getAssociatedConnection() const
Definition: h450pdu.h:491
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:847
void SendGeneralReject(int invokeId, int problem)
virtual PBoolean OnReceivedReturnError(X880_ReturnError &returnError)
Definition: h450pdu.h:873
PString intrudingCallToken
Definition: h450pdu.h:914
virtual PBoolean OnReceivedCallIntrusionForcedRelease(int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:579
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
PString CallToken
Definition: h450pdu.h:515
Definition: h450pdu.h:445
virtual void AttachToAlerting(H323SignalPDU &pdu)
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
PBoolean consultationTransfer
Definition: h450pdu.h:517
void BuildCallIntrusionImpending(int invokeId)
virtual void OnReceivedCallIntrusionRequest(int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:852
Definition: h450pdu.h:271
PDECLARE_NOTIFIER(PTimer, H4502Handler, OnCallTransferTimeOut)
Definition: h450pdu.h:583
void HandleCallTransferFailure(const int returnError)
PBoolean OnReceivedGetCIPLReturnError(int errorCode, const bool timerExpiry=false)
PBoolean IsctTimerRunning()
Definition: h450pdu.h:483
void OnReceivedCIGetCIPLResult(X880_ReturnResult &returnResult)
virtual void OnReceivedSubaddressTransfer(int linkedId, PASN_OctetString *argument)
void OnReceivedIdentifyReturnError(const bool timerExpiry=false)
void AddOpCode(unsigned opcode, H450xHandler *handler)
H4502Handler(H323Connection &connection, H450xDispatcher &dispatcher)
PBoolean DecodeArguments(PASN_OctetString *argString, PASN_Object &argObject, int absentErrorCode)
void BuildCallTransferInitiate(int invokeId, const PString &callIdentity, const PString &alias, const H323TransportAddress &address)
H4506Handler(H323Connection &connection, H450xDispatcher &dispatcher)
Definition: h450pdu.h:886
Definition: h450pdu.h:843
void StartciTimer(const PTimeInterval value)
Definition: h450pdu.h:897
virtual void OnReceivedCallWaitingIndication(int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionNotification(int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:631
Definition: h450pdu.h:885
int ciCICL
Definition: h450pdu.h:920
void BuildCallTransferIdentify(int invokeId)
Definition: h450pdu.h:644
void ConsultationTransfer(const PString &primaryCallToken)
PBoolean isConsultationTransferSuccess()
Definition: h450pdu.h:507
State GetState() const
Definition: h450pdu.h:634
virtual void AttachErrorToPdu(H323SignalPDU &pdu, H4507_MessageWaitingIndicationErrors error)
virtual PBoolean OnReceivedReturnResult(X880_ReturnResult &returnResult)
virtual void OnReceivedCfbOverride(int linkedId, PASN_OctetString *argument)
virtual void OnReceivedRemoteCallHold(int linkedId)
Definition: h450pdu.h:880
Definition: h450pdu.h:860
State
Definition: h450pdu.h:629
Definition: h450pdu.h:882
Definition: h450pdu.h:879
Definition: h450pdu.h:845
Definition: h450pdu.h:580
PString transferringCallIdentity
Definition: h450pdu.h:511
virtual void OnReceivedCallTransferInitiate(int linkedId, PASN_OctetString *argument)
void OnReceivedInitiateReturnError(const bool timerExpiry=false)
virtual void OnReceivedLocalCallHold(int linkedId)
H323Connection & connection
Definition: h450pdu.h:264
X880_ReturnResult & BuildCallIntrusionForcedReleaseResult(int invokeId)
PString intrudingCallIdentity
Definition: h450pdu.h:915
Definition: h450pdu.h:861
State ctState
Definition: h450pdu.h:512
void SetAssociatedCallToken(const PString &token)
Definition: h450pdu.h:495
Definition: h450pdu.h:581
virtual void OnReceivedCallIntrusionGetCIPL(int linkedId, PASN_OctetString *argument)
void SendReturnErrorReject(int invokeId, int problem)
Definition: h450pdu.h:449
void SetConsultationTransferSuccess()
Definition: h450pdu.h:503
PTimer ciTimer
Definition: h450pdu.h:913
void SendInvokeReject(int problem)
virtual void OnReceivedCallTransferAbandon(int linkedId)
Definition: h450pdu.h:444
ReturnState ciReturnState
Definition: h450pdu.h:917
void SetIntrusionImpending()
State GetState() const
Definition: h450pdu.h:893
void BuildCallIntrusionForcedReleaseError()
Definition: h450pdu.h:870
virtual PBoolean HandlePDU(const H323SignalPDU &pdu)
virtual PBoolean OnReceivedReturnResult(X880_ReturnResult &returnResult)
void BuildCallIntrusionForceRelesed(int invokeId)
void OnReceivedIdentifyReturnResult(X880_ReturnResult &returnResult)
virtual void AttachToConnect(H323SignalPDU &pdu)
Definition: h450pdu.h:883
void SendReturnResultReject(int problem)
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
bool HoldCall(PBoolean localHold)
State
Definition: h450pdu.h:578
virtual PBoolean OnReceivedReturnResult(X880_ReturnResult &returnResult)
Definition: h450pdu.h:887
virtual void OnReceivedRemoteCallRetrieve(int linkedId)
Definition: h450pdu.h:844
void SetIntrusionNotAuthorized()
Definition: h450pdu.h:849
Definition: h323con.h:130
virtual void OnReceivedCallTransferActive(int linkedId, PASN_OctetString *argument)
void AwaitSetupResponse(const PString &token, const PString &identity)
virtual void OnReceivedCallTransferSetup(int linkedId, PASN_OctetString *argument)
unsigned intrudingCallCICL
Definition: h450pdu.h:921
void OnReceivedSetupReturnError(int errorCode, const bool timerExpiry=false)
void SendReturnResultReject(int invokeId, int problem)
virtual void AttachToConnect(H323SignalPDU &pdu)
virtual void AttachToSetup(H323SignalPDU &pdu)
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
Definition: h450pdu.h:881
virtual void OnReceivedCallIntrusionIsolate(int linkedId, PASN_OctetString *argument)
H450xHandler(H323Connection &connection, H450xDispatcher &dispatcher)
void SendReturnError(int invokeId, int returnError)
void BuildCallWaiting(int invokeId, int numCallsWaiting)
void BuildCallIntrusionForcedRelease(int invokeId, int CICL)
Definition: h450pdu.h:582
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
State
Definition: h450pdu.h:676
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)=0
virtual void OnReceivedCallTransferUpdate(int linkedId, PASN_OctetString *argument)
void BuildCallIntrusionGetCIPL(int invokeId)
Definition: h450pdu.h:851
virtual void AttachToConnect(H323SignalPDU &pdu)
Generate ciGenerateState
Definition: h450pdu.h:919
void BuildCallTransferAbandon(int invokeId)
State GetState() const
Definition: h450pdu.h:681
X880_Invoke & BuildInvoke(int invokeId, int operation)
PDECLARE_NOTIFIER(PTimer, H45011Handler, OnCallIntrudeTimeOut)
Definition: h450pdu.h:105
virtual void AttachToConnect(H323SignalPDU &pdu)
virtual void OnReceivedCallWaiting(int linkedId, PASN_OctetString *argument)
void AwaitSetupResponse(const PString &token, const PString &identity)
Generate
Definition: h450pdu.h:857
virtual PBoolean OnReceivedReject(int problemType, int problemNumber)
State cwState
Definition: h450pdu.h:638
Definition: h450pdu.h:872
virtual PBoolean OnReceivedReturnError(int errorCode, X880_ReturnError &returnError)
virtual PBoolean OnReceivedReturnResult(X880_ReturnResult &returnResult)
void BuildCallTransferSetup(int invokeId, const PString &callIdentity)
void OnReceivedSetupReturnResult()
virtual void AttachToAlerting(H323SignalPDU &pdu)
Definition: h450pdu.h:869
Definition: h450pdu.h:594
Definition: h450pdu.h:846
void OnReceivedInitiateReturnResult()
void HandleConsultationTransfer(const PString &callIdentity, H323Connection &incoming)
Definition: h450pdu.h:446
H45011Handler(H323Connection &connection, H450xDispatcher &dispatcher)
unsigned nextInvokeId
Definition: h450pdu.h:267
State GetState() const
Definition: h450pdu.h:454
void StartctTimer(const PTimeInterval value)
Definition: h450pdu.h:475
ReturnState
Definition: h450pdu.h:877
Definition: h450pdu.h:859
virtual void AttachToSetup(H323SignalPDU &pdu)
virtual void OnReceivedLocalCallRetrieve(int linkedId)
X880_ReturnError & BuildReturnError(int invokeId, int error)
Definition: h450pdu.h:522
const PString & getTransferringCallToken() const
Definition: h450pdu.h:499
virtual void AttachInterrogateResultToPdu(H323SignalPDU &pdu, H4507_MWIInterrogateRes &interrogateResult)
Definition: h450pdu.h:448
virtual void OnReceivedCallIntrusionSilentMonitor(int linkedId, PASN_OctetString *argument)
X880_ReturnResult & BuildReturnResult(int invokeId)
Definition: transaddr.h:66
Definition: h450pdu.h:864
State
Definition: h450pdu.h:443
virtual void OnReceivedRemoteUserAlerting(int linkedId, PASN_OctetString *argument)
virtual void AttachToSetup(H323SignalPDU &pdu)
void SendReturnErrorReject(int problem)
H323EndPoint & endpoint
Definition: h450pdu.h:173
State ciState
Definition: h450pdu.h:912
Definition: h450pdu.h:689
virtual void onReceivedAdmissionReject(const int returnError)
virtual PBoolean OnReceivedReturnError(int errorCode, X880_ReturnError &returnError)
void SendGeneralReject(int problem)
PBoolean GetRemoteCallIntrusionProtectionLevel(const PString &intrusionCallToken, unsigned intrusionCICL)
SendState ciSendState
Definition: h450pdu.h:918
H450xHandlerArray handlers
Definition: h450pdu.h:265
unsigned currentInvokeId
Definition: h450pdu.h:176
virtual PBoolean OnReceivedReject(X880_Reject &reject)
Definition: h450pdu.h:888
virtual void AttachToSetup(H323SignalPDU &setupPDU, H4507_H323_MWI_Operations &mwiOp, PASN_Sequence &argument)
H323Connection & connection
Definition: h450pdu.h:174
unsigned GetInvokeId() const
Definition: h450pdu.h:169
Definition: h450pdu.h:842
unsigned GetNextInvokeId() const
Definition: h450pdu.h:261
bool TransferCall(const PString &remoteParty, const PString &callIdentity)
X880_Reject & BuildReject(int invokeId)
virtual void OnReceivedCallIntrusionWOBRequest(int linkedId, PASN_OctetString *argument)
PBoolean OnReceivedInvokeReturnError(int errorCode, const bool timerExpiry=false)
H4504Handler(H323Connection &connection, H450xDispatcher &dispatcher)
Definition: h450pdu.h:678
Definition: h450pdu.h:863