27 #ifndef OPAL_H323_H450PDU_H
28 #define OPAL_H323_H450PDU_H
39 #include <asn/h4501.h>
40 #include <asn/h4502.h>
42 #include <asn/h4507.h>
49 class H4501_EndpointAddress;
50 class H4501_InterpretationApdu;
60 X880_Invoke&
BuildInvoke(
int invokeId,
int operation);
66 const PString & callIdentity,
67 const PString & alias,
73 const PString & callIdentity);
77 H4507_H323_MWI_Operations &mwiOp,
78 PASN_Sequence &argument);
80 H4507_MWIInterrogateRes &interrogateResult);
130 PASN_OctetString * argument
134 X880_ReturnResult & returnResult
139 X880_ReturnError & returnError
160 PASN_OctetString * argString,
161 PASN_Object & argObject,
220 virtual PBoolean
OnReceivedInvoke(X880_Invoke& invoke, H4501_InterpretationApdu& interpretation);
296 PASN_OctetString * argument
315 PASN_OctetString * argument
322 PASN_OctetString * argument
329 PASN_OctetString * argument
336 PASN_OctetString * argument
343 PASN_OctetString * argument
350 PASN_OctetString * argument
354 X880_ReturnResult & returnResult
378 X880_ReturnError & returnError
386 const bool timerExpiry =
false
397 const bool timerExpiry =
false
405 const bool timerExpiry =
false
413 const PString & remoteParty,
414 const PString & callIdentity
422 const PString & primaryCallToken
428 const PString & callIdentity,
433 const PString & token,
434 const PString & identity
466 const int returnError
531 PASN_OctetString * argument
603 PASN_OctetString * argument
610 PASN_OctetString *argument
620 unsigned numberOfCallsWaiting = 0
653 PASN_OctetString * argument
661 H4507_H323_MWI_Operations &mwiOp,
662 PASN_Sequence &argument);
667 H4507_MWIInterrogateRes &interrogateResult);
669 H4507_MessageWaitingIndicationErrors error);
714 PASN_OctetString * argument
721 PASN_OctetString *argument
728 PASN_OctetString *argument
735 PASN_OctetString *argument
742 PASN_OctetString *argument
749 PASN_OctetString *argument
756 PASN_OctetString *argument
763 PASN_OctetString *argument
770 PASN_OctetString *argument
777 PASN_OctetString *argument
784 PASN_OctetString *argument
788 X880_ReturnResult & returnResult
795 X880_ReturnError & returnError
800 const bool timerExpiry =
false
804 X880_ReturnResult & returnResult
809 const bool timerExpiry =
false
815 const PString & token,
816 const PString & identity
820 const PString & intrusionCallToken,
821 unsigned intrusionCICL
923 #endif // OPAL_H323_H450PDU_H
PString transferringCallToken
Definition: h450pdu.h:506
virtual void AttachToSetup(H323SignalPDU &pdu)
virtual void AttachToAlerting(H323SignalPDU &pdu)
Definition: h450pdu.h:846
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:864
Definition: h450pdu.h:626
virtual void OnReceivedCallTransferIdentify(int linkedId)
void SendInvokeReject(int invokeId, int problem)
PTimer ctTimer
Definition: h450pdu.h:510
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:867
virtual PBoolean OnReceivedInvoke(X880_Invoke &invoke, H4501_InterpretationApdu &interpretation)
Definition: h450pdu.h:443
H450xDispatcher & dispatcher
Definition: h450pdu.h:171
PString activeCallToken
Definition: h450pdu.h:912
State GetState() const
Definition: h450pdu.h:582
PBoolean ctResponseSent
Definition: h450pdu.h:509
virtual void AttachToAlerting(H323SignalPDU &pdu)
Definition: h450pdu.h:874
PBoolean IsctTimerRunning()
Definition: h450pdu.h:901
void AttachSupplementaryServiceAPDU(H323SignalPDU &pdu)
Definition: h450pdu.h:849
H450xDispatcher(H323Connection &connection)
static void ParseEndpointAddress(H4501_EndpointAddress &address, PString &party)
State mwiState
Definition: h450pdu.h:681
Definition: h450pdu.h:844
Definition: h450pdu.h:179
Definition: h450pdu.h:854
virtual void AttachToAlerting(H323SignalPDU &pdu, unsigned numberOfCallsWaiting=0)
State
Definition: h450pdu.h:837
void OnReceivedCIRequestResult()
Definition: h450pdu.h:880
H4507Handler(H323Connection &connection, H450xDispatcher &dispatcher)
H450xHandlerDict opcodeHandler
Definition: h450pdu.h:262
void IntrudeCall(int CICL)
Definition: h450pdu.h:673
State holdState
Definition: h450pdu.h:586
Definition: h450pdu.h:858
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
void SetForcedReleaseAccepted()
const H323Connection & getAssociatedConnection() const
Definition: h450pdu.h:487
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:843
void SendGeneralReject(int invokeId, int problem)
virtual PBoolean OnReceivedReturnError(X880_ReturnError &returnError)
Definition: h450pdu.h:869
PString intrudingCallToken
Definition: h450pdu.h:910
virtual PBoolean OnReceivedCallIntrusionForcedRelease(int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:575
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
PString CallToken
Definition: h450pdu.h:511
Definition: h450pdu.h:441
virtual void AttachToAlerting(H323SignalPDU &pdu)
virtual void AttachToReleaseComplete(H323SignalPDU &pdu)
PBoolean consultationTransfer
Definition: h450pdu.h:513
void BuildCallIntrusionImpending(int invokeId)
virtual void OnReceivedCallIntrusionRequest(int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:848
Definition: h450pdu.h:267
PDECLARE_NOTIFIER(PTimer, H4502Handler, OnCallTransferTimeOut)
Definition: h450pdu.h:579
void HandleCallTransferFailure(const int returnError)
PBoolean OnReceivedGetCIPLReturnError(int errorCode, const bool timerExpiry=false)
PBoolean IsctTimerRunning()
Definition: h450pdu.h:479
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:882
Definition: h450pdu.h:839
void StartciTimer(const PTimeInterval value)
Definition: h450pdu.h:893
virtual void OnReceivedCallWaitingIndication(int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionNotification(int linkedId, PASN_OctetString *argument)
Definition: h450pdu.h:627
Definition: h450pdu.h:881
int ciCICL
Definition: h450pdu.h:916
void BuildCallTransferIdentify(int invokeId)
Definition: h450pdu.h:640
void ConsultationTransfer(const PString &primaryCallToken)
PBoolean isConsultationTransferSuccess()
Definition: h450pdu.h:503
State GetState() const
Definition: h450pdu.h:630
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:876
Definition: h450pdu.h:856
State
Definition: h450pdu.h:625
Definition: h450pdu.h:878
Definition: h450pdu.h:875
Definition: h450pdu.h:841
Definition: h450pdu.h:576
PString transferringCallIdentity
Definition: h450pdu.h:507
virtual void OnReceivedCallTransferInitiate(int linkedId, PASN_OctetString *argument)
void OnReceivedInitiateReturnError(const bool timerExpiry=false)
virtual void OnReceivedLocalCallHold(int linkedId)
H323Connection & connection
Definition: h450pdu.h:260
X880_ReturnResult & BuildCallIntrusionForcedReleaseResult(int invokeId)
PString intrudingCallIdentity
Definition: h450pdu.h:911
Definition: h450pdu.h:857
State ctState
Definition: h450pdu.h:508
void SetAssociatedCallToken(const PString &token)
Definition: h450pdu.h:491
Definition: h450pdu.h:577
virtual void OnReceivedCallIntrusionGetCIPL(int linkedId, PASN_OctetString *argument)
void SendReturnErrorReject(int invokeId, int problem)
Definition: h450pdu.h:445
void SetConsultationTransferSuccess()
Definition: h450pdu.h:499
PTimer ciTimer
Definition: h450pdu.h:909
void SendInvokeReject(int problem)
virtual void OnReceivedCallTransferAbandon(int linkedId)
Definition: h450pdu.h:440
ReturnState ciReturnState
Definition: h450pdu.h:913
void SetIntrusionImpending()
State GetState() const
Definition: h450pdu.h:889
void BuildCallIntrusionForcedReleaseError()
Definition: h450pdu.h:866
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:879
void SendReturnResultReject(int problem)
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
bool HoldCall(PBoolean localHold)
State
Definition: h450pdu.h:574
virtual PBoolean OnReceivedReturnResult(X880_ReturnResult &returnResult)
Definition: h450pdu.h:883
virtual void OnReceivedRemoteCallRetrieve(int linkedId)
Definition: h450pdu.h:840
void SetIntrusionNotAuthorized()
Definition: h450pdu.h:845
Definition: h323con.h:137
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:917
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:877
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:578
virtual PBoolean OnReceivedInvoke(int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
State
Definition: h450pdu.h:672
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)
PARRAY(H323CapabilitiesList, H323Capability)
Definition: h450pdu.h:847
virtual void AttachToConnect(H323SignalPDU &pdu)
Generate ciGenerateState
Definition: h450pdu.h:915
void BuildCallTransferAbandon(int invokeId)
State GetState() const
Definition: h450pdu.h:677
X880_Invoke & BuildInvoke(int invokeId, int operation)
PDECLARE_NOTIFIER(PTimer, H45011Handler, OnCallIntrudeTimeOut)
Definition: h450pdu.h:101
virtual void AttachToConnect(H323SignalPDU &pdu)
virtual void OnReceivedCallWaiting(int linkedId, PASN_OctetString *argument)
PDICTIONARY(H323CallIdentityDict, PString, H323Connection)
void AwaitSetupResponse(const PString &token, const PString &identity)
Generate
Definition: h450pdu.h:853
virtual PBoolean OnReceivedReject(int problemType, int problemNumber)
State cwState
Definition: h450pdu.h:634
Definition: h450pdu.h:868
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:865
Definition: h450pdu.h:590
Definition: h450pdu.h:842
void OnReceivedInitiateReturnResult()
void HandleConsultationTransfer(const PString &callIdentity, H323Connection &incoming)
Definition: h450pdu.h:442
H45011Handler(H323Connection &connection, H450xDispatcher &dispatcher)
unsigned nextInvokeId
Definition: h450pdu.h:263
State GetState() const
Definition: h450pdu.h:450
void StartctTimer(const PTimeInterval value)
Definition: h450pdu.h:471
ReturnState
Definition: h450pdu.h:873
Definition: h450pdu.h:855
virtual void AttachToSetup(H323SignalPDU &pdu)
virtual void OnReceivedLocalCallRetrieve(int linkedId)
X880_ReturnError & BuildReturnError(int invokeId, int error)
Definition: h450pdu.h:518
const PString & getTransferringCallToken() const
Definition: h450pdu.h:495
virtual void AttachInterrogateResultToPdu(H323SignalPDU &pdu, H4507_MWIInterrogateRes &interrogateResult)
Definition: h450pdu.h:444
virtual void OnReceivedCallIntrusionSilentMonitor(int linkedId, PASN_OctetString *argument)
X880_ReturnResult & BuildReturnResult(int invokeId)
Definition: transaddr.h:62
Definition: h450pdu.h:860
State
Definition: h450pdu.h:439
virtual void OnReceivedRemoteUserAlerting(int linkedId, PASN_OctetString *argument)
virtual void AttachToSetup(H323SignalPDU &pdu)
void SendReturnErrorReject(int problem)
H323EndPoint & endpoint
Definition: h450pdu.h:169
State ciState
Definition: h450pdu.h:908
Definition: h450pdu.h:685
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:914
H450xHandlerArray handlers
Definition: h450pdu.h:261
unsigned currentInvokeId
Definition: h450pdu.h:172
virtual PBoolean OnReceivedReject(X880_Reject &reject)
Definition: h450pdu.h:884
virtual void AttachToSetup(H323SignalPDU &setupPDU, H4507_H323_MWI_Operations &mwiOp, PASN_Sequence &argument)
H323Connection & connection
Definition: h450pdu.h:170
unsigned GetInvokeId() const
Definition: h450pdu.h:165
Definition: h450pdu.h:838
unsigned GetNextInvokeId() const
Definition: h450pdu.h:257
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:674
Definition: h450pdu.h:859