h4503resarg.h
上传用户:hnnddl
上传日期:2007-01-06
资源大小:3580k
文件大小:44k
源码类别:

IP电话/视频会议

开发平台:

WINDOWS

  1. //@DELB
  2. /*
  3.  * $Revision: 1.1 $
  4.  * $Date: 1998/12/21 16:51:46 $
  5.  */
  6. ////////////////////////////////////////////////////////////////
  7. //           Copyright (c) 1996 Lucent Technologies           //
  8. //                   All Rights Reserved                      //
  9. //                                                            //
  10. //                   THIS IS UNPUBLISHED                      //
  11. //                   PROPRIETARY SOURCE                       //
  12. //               CODE OF Lucent Technologies                  //
  13. //                       AND elemedia                         //
  14. //                                                            //
  15. //      The copyright notice above does not evidence any      //
  16. //     actual or intended publication of such source code     //
  17. ////////////////////////////////////////////////////////////////
  18. ////////////////////////////////////////////////////////////////
  19. // File : h4503resarg.h                                       //
  20. //                                                            //
  21. // This file defines the classes for the ARGUMENT and RESULT  //
  22. // fields for H.450.3 Call Diversion Supplementary Service    //
  23. //                                                            //
  24. // History:                                                   //
  25. //  09_Nov_1998 Created                                       //
  26. //                                                            //
  27. //                                                            //
  28. ////////////////////////////////////////////////////////////////
  29. #if (!defined(__H4503RESARG_H__))
  30. #define __H4503RESARG_H__
  31. // Forward declarations
  32. class H4503IntResult;
  33. class H450Arg;
  34. class H450Res;
  35. class ItemBasicService;
  36. class ItemCallingInfo;
  37. class ItemDiversionCounter;
  38. class ItemDiversionReason;
  39. class ItemDivertedToAddress;
  40. class ItemNominatedInfo;
  41. class ItemNominatedNr;
  42. class ItemOriginalCalledInfo;
  43. class ItemOriginalCalledNr;
  44. class ItemProcedure;
  45. class ItemRedirectingInfo;
  46. class ItemServedUserNr;
  47. class ItemSubscriptionOption;
  48. struct EmCallDiversionExtension;
  49. struct EmCallDiversionOperationsExtensionSeq;
  50. struct EmActivateDiversionQArg;
  51. struct EmDeactivateDiversionQArg;
  52. struct EmInterrogateDiversionQArg;
  53. struct EmCheckRestrictionArg;
  54. struct EmCallReroutingArg;
  55. struct EmDivertingLegInformation1Arg;
  56. struct EmDivertingLegInformation2Arg;
  57. struct EmDivertingLegInformation3Arg;
  58. struct EmDivertingLegInformation4Arg;
  59. struct EmIntResult;
  60. struct EmIntResultList;
  61. struct EmCallDiversionUnspecifiedParameter;
  62. //@DELE
  63. // -  enum Call Diversion Reason
  64. // @See:
  65. //      - ItemDiversionReason, H4503CDDivertingLegInformation2Arg
  66. enum H4503Reason
  67. {
  68. CDIV_REASON_INVALID = -1,
  69. CDIV_REASON_UNKNOWN = 0, // Reason - Unknown
  70. CDIV_REASON_CFU = 1, // Reason - Call Forwarding Unconditional
  71. CDIV_REASON_CFB = 2, // Reason - Call Forwarding Busy
  72. CDIV_REASON_CFNR = 3, // Reason - Call Forwarding No Reply
  73. CDIV_REASON_MAX = 4 // used for range checking
  74. };
  75. // -  enum Call Diversion Procedure
  76. // @See:
  77. //      - ItemProcedure
  78. enum H4503Procedure
  79. {
  80. CDIV_PROCEDURE_INVALID = -1,
  81. CDIV_PROCEDURE_CFU = 0, // Procedure - Call Forwarding Unconditional
  82. CDIV_PROCEDURE_CFB = 1, // Procedure - Call Forwarding Busy
  83. CDIV_PROCEDURE_CFNR = 2, // Procedure - Call Forwarding No Reply
  84. CDIV_PROCEDURE_MAX = 3 // used for range checking
  85. };
  86. // -  enum Call Diversion BasicService
  87. // @See:
  88. //      - ItemBasicService
  89. enum H4503BasicService
  90. {
  91. CDBS_INVALID = -1,
  92. CDBS_ALLSERVICES = 0, // BasicService - All services
  93. CDBS_SPEECH = 1, // BasicService - speech
  94. CDBS_UNRES_DIGITAL_INFO = 2, // BasicService - unrestricedDigitalInformation
  95. CDBS_AUDIO_3_1_KHZ = 3, // BasicService - audio3.1KHz
  96. CDBS_TELEPHONY = 32, // BasicService - telephony
  97. CDBS_TELETEX = 33, // BasicService - teletex
  98. CDBS_TELEFAX_GROUP4_CLASS1 = 34, // BasicService - telefaxGroup4Class1
  99. CDBS_VIDEO_TEX_SYNTAX_BASED = 35, // BasicService - videotexXyntaxBased
  100. CDBS_VIDEO_TELEPHONY = 36, // BasicService - videotelephony
  101. CDBS_MAXIMUM // used for range checking
  102. };
  103. // -  enum Call Diversion Subscription Option
  104. // @See:
  105. //      - ItemSubscriptionOption
  106. enum H4503SubscriptionOption
  107. {
  108. CDSO_INVALID = -1,
  109. CDSO_NONOTIFY = 0, // No Notification
  110. CDSO_NOTIFY_WITHOUT_DIVERTEDTONR = 1, // Notification without diverted-to
  111. // number
  112. CDSO_NOTIFY_WITH_DIVERTEDTONR = 2, // Notification with diverted-to
  113. // number
  114. CDSO_PROCEDURE_MAX = 3 // used for range checking
  115. };
  116. // -  enum Call Diversion Remote Enabled
  117. // @See:
  118. // - IntResult
  119. enum H4503RemoteEnabled
  120. {
  121. CDRE_ENABLED = TRUE,
  122. CDRE_DISABLED = FALSE // default
  123. };
  124. //////////////////////////////////////////////////////
  125. /*
  126.  *   This defines the H4503IntResult class
  127.  * @Name: H4503IntResult
  128.  * @Description:
  129.  * H.450.3 Call Diversion Int Result
  130.  * @See
  131.  * -H4503CDInterrogateDiversionQRes
  132.  *
  133.  */
  134. class DLLEXPORT H4503IntResult : public ItemProcedure,
  135. public ItemBasicService, public ItemDivertedToAddress,
  136. public ItemServedUserNr, public ItemCDExt
  137. {
  138. public:
  139. // Constructor
  140. H4503IntResult();
  141. H4503IntResult(H4503IntResult &);
  142. // Destructor
  143. ~H4503IntResult();
  144. // This sets the remoteEnabled field.
  145. // @Name: SetRemoteEnabled
  146. // @Description:
  147. // Sets the remoteEnabled field
  148. // @Arguments:
  149. // -boolean with remoteEnabled value
  150. // @Returns:
  151. // -ProtReturnCode:
  152. // -H450_SUCCESS -success.
  153. // -H450_MEM_ALLOC_FAILED -set failed
  154. // @See:
  155. // - enum H4503RemoteEnabled
  156. virtual ProtReturnCode SetRemoteEnabled(boolean);
  157. // This gets the remoteEnabled field.
  158. // @Name: GetRemoteEnabled
  159. // @Description:
  160. // Gets the value of the remoteEnabled field
  161. // @Arguments:
  162. // -reference to boolean for remoteEnabled
  163. // @Returns:
  164. // -remoteEnabled
  165. // -ProtReturnCode:
  166. // -H450_SUCCESS -success.
  167. // -H450_MEM_ALLOC_FAILED -get failed
  168. // -H450_ITEM_NOT_PRESENT -item not present
  169. // @See:
  170. // - enum H4503RemoteEnabled
  171. virtual ProtReturnCode GetRemoteEnabled(boolean &);
  172. H4503IntResult & operator=(H4503IntResult &);
  173. // Determines if the class has been sufficiently created
  174. boolean Valid();
  175. //@DELB
  176. // For protocol internal use.
  177. void *GetPriv();
  178. ProtReturnCode SetPriv(void *);
  179. private:
  180. void Init();
  181. EmIntResult *mIntResultPtr;
  182. int mIsRemoteEnabledValid;
  183. int mIsValid;
  184. //@DELE
  185. };
  186. //////////////////////////////////////////////////////
  187. // Argument Classes
  188. //{///////////////////////////////////////////////////
  189. /*
  190.  *   This defines the CDActivateDiversionQArg argument.
  191.  * @Name: H4503CDActivateDiversionQArg
  192.  * @Description:
  193.  * H.450.3 Call Diversion activateDiversionQ argument
  194.  * sent from the activating h.323-endpoint to the served
  195.  * h.323-endpoint.
  196.  *
  197.  * Mandatory fields are:
  198.  * Procedure, BasicService,
  199.  * DivertedToAddress, ServedUserNr, & ActivatingUserNr
  200.  * Optional fields are:
  201.  * Extension
  202.  * @See
  203.  * -H4501Invoke
  204.  *
  205.  */
  206. class DLLEXPORT H4503CDActivateDiversionQArg : public H450Arg,
  207. public ItemProcedure, public ItemBasicService,
  208. public ItemDivertedToAddress, public ItemServedUserNr,
  209. public ItemCDExt
  210. {
  211. public:
  212. // Constructor
  213. H4503CDActivateDiversionQArg();
  214. H4503CDActivateDiversionQArg(H4503CDActivateDiversionQArg &);
  215. // Destructor
  216. ~H4503CDActivateDiversionQArg();
  217. // This sets the activatingUserNr field.
  218. // @Name: SetActivatingUserNr
  219. // @Description:
  220. // Sets the activatingUserNr field with an H4501EndpointAddr class
  221. // @Arguments:
  222. // -reference to H4501EndpointAddr class with activatingUserNr data
  223. // @Returns:
  224. // -ProtReturnCode:
  225. // -H450_SUCCESS -success.
  226. // -H450_MEM_ALLOC_FAILED -set failed
  227. // -H450_INVALID_PARAM -incorrect input parameter
  228. virtual ProtReturnCode SetActivatingUserNr(H4501EndpointAddr &);
  229. // This gets the activatingUserNr field.
  230. // @Name: GetActivatingUserNr
  231. // @Description:
  232. // Gets an H4501EndpointAddr class from the activatingUserNr field
  233. // @Arguments:
  234. // -reference to H4501EndpointAddr class for activatingUserNr data
  235. // @Returns:
  236. // -H4501EndpointAddr with activatingUserNr data
  237. // -ProtReturnCode:
  238. // -H450_SUCCESS -success.
  239. // -H450_MEM_ALLOC_FAILED -get failed
  240. // -H450_ITEM_NOT_PRESENT -item not present
  241. // -H450_INVALID_PARAM -incorrect input parameter
  242. virtual ProtReturnCode GetActivatingUserNr(H4501EndpointAddr &);
  243. H4503CDActivateDiversionQArg & operator=(H4503CDActivateDiversionQArg &);
  244. // Determines if the class has been sufficiently created
  245. boolean Valid();
  246. //@DELB
  247. // For protocol internal use.
  248. void *GetPriv();
  249. ProtReturnCode SetPriv(void *);
  250. private:
  251. void Init();
  252. EmActivateDiversionQArg *mActivateDiversionQArgPtr;
  253. int mIsActivatingUserNrValid;
  254. int mIsValid;
  255. //@DELE
  256. };
  257. /*
  258.  *   This defines the CDDeactivateDiversionQArg argument.
  259.  * @Name: H4503CDDeactivateDiversionQArg
  260.  * @Description:
  261.  * H.450.3 Call Diversion deactivateDiversionQ argument
  262.  * sent from the deactivating h.323-endpoint to the served
  263.  * h.323-endpoint.
  264.  *
  265.  * Mandatory fields are:
  266.  * Procedure, BasicService,
  267.  * ServedUserNr, & DeactivatingUserNr
  268.  * Optional fields are:
  269.  * Extension
  270.  * @See
  271.  * -H4501Invoke
  272.  *
  273.  */
  274. class DLLEXPORT H4503CDDeactivateDiversionQArg : public H450Arg,
  275. public ItemProcedure, public ItemBasicService,
  276. public ItemServedUserNr, public ItemCDExt
  277. {
  278. public:
  279. // Constructor
  280. H4503CDDeactivateDiversionQArg();
  281. H4503CDDeactivateDiversionQArg(H4503CDDeactivateDiversionQArg &);
  282. // Destructor
  283. ~H4503CDDeactivateDiversionQArg();
  284. // This sets the deactivatingUserNr field.
  285. // @Name: SetDeactivatingUserNr
  286. // @Description:
  287. // Sets the deactivatingUserNr field with an H4501EndpointAddr class
  288. // @Arguments:
  289. // -reference to H4501EndpointAddr class with deactivatingUserNr data
  290. // @Returns:
  291. // -ProtReturnCode:
  292. // -H450_SUCCESS -success.
  293. // -H450_MEM_ALLOC_FAILED -set failed
  294. // -H450_INVALID_PARAM -incorrect input parameter
  295. virtual ProtReturnCode SetDeactivatingUserNr(H4501EndpointAddr &);
  296. // This gets the deactivatingUserNr field.
  297. // @Name: GetDeactivatingUserNr
  298. // @Description:
  299. // Gets an H4501EndpointAddr class from the deactivatingUserNr field
  300. // @Arguments:
  301. // -reference to H4501EndpointAddr class for deactivatingUserNr data
  302. // @Returns:
  303. // -H4501EndpointAddr with deactivatingUserNr data
  304. // -ProtReturnCode:
  305. // -H450_SUCCESS -success.
  306. // -H450_MEM_ALLOC_FAILED -get failed
  307. // -H450_ITEM_NOT_PRESENT -item not present
  308. // -H450_INVALID_PARAM -incorrect input parameter
  309. virtual ProtReturnCode GetDeactivatingUserNr(H4501EndpointAddr &);
  310. H4503CDDeactivateDiversionQArg & operator=(H4503CDDeactivateDiversionQArg &);
  311. // Determines if the class has been sufficiently created
  312. boolean Valid();
  313. //@DELB
  314. // For protocol internal use.
  315. void *GetPriv();
  316. ProtReturnCode SetPriv(void *);
  317. private:
  318. void Init();
  319. EmDeactivateDiversionQArg *mDeactivateDiversionQArgPtr;
  320. int mIsDeactivatingUserNrValid;
  321. int mIsValid;
  322. //@DELE
  323. };
  324. /*
  325.  *   This defines the CDInterrogateDiversionQArg argument.
  326.  * @Name: H4503CDInterrogateDiversionQArg
  327.  * @Description:
  328.  * H.450.3 Call Diversion interrogateDiversionQ argument
  329.  * sent from the interrogating h.323-endpoint to the served
  330.  * h.323-endpoint.
  331.  *
  332.  * Mandatory fields are:
  333.  * Procedure, BasicService (default allServices),
  334.  * ServedUserNr, & InterrogatingUserNr
  335.  * Optional fields are:
  336.  * Extension
  337.  * @See
  338.  * -H4501Invoke
  339.  *
  340.  */
  341. class DLLEXPORT H4503CDInterrogateDiversionQArg : public H450Arg,
  342. public ItemProcedure, public ItemBasicService,
  343. public ItemServedUserNr, public ItemCDExt
  344. {
  345. public:
  346. // Constructor
  347. H4503CDInterrogateDiversionQArg();
  348. H4503CDInterrogateDiversionQArg(H4503CDInterrogateDiversionQArg &);
  349. // Destructor
  350. ~H4503CDInterrogateDiversionQArg();
  351. // This sets the interrogatingUserNr field.
  352. // @Name: SetInterrogatingUserNr
  353. // @Description:
  354. // Sets the interrogatingUserNr field with an H4501EndpointAddr class
  355. // @Arguments:
  356. // -reference to H4501EndpointAddr class with interrogatingUserNr data
  357. // @Returns:
  358. // -ProtReturnCode:
  359. // -H450_SUCCESS -success.
  360. // -H450_MEM_ALLOC_FAILED -set failed
  361. // -H450_INVALID_PARAM -incorrect input parameter
  362. virtual ProtReturnCode SetInterrogatingUserNr(H4501EndpointAddr &);
  363. // This gets the interrogatingUserNr field.
  364. // @Name: GetInterrogatingUserNr
  365. // @Description:
  366. // Gets an H4501EndpointAddr class from the interrogatingUserNr field
  367. // @Arguments:
  368. // -reference to H4501EndpointAddr class for interrogatingUserNr data
  369. // @Returns:
  370. // -H4501EndpointAddr with interrogatingUserNr data
  371. // -ProtReturnCode:
  372. // -H450_SUCCESS -success.
  373. // -H450_MEM_ALLOC_FAILED -get failed
  374. // -H450_ITEM_NOT_PRESENT -item not present
  375. // -H450_INVALID_PARAM -incorrect input parameter
  376. virtual ProtReturnCode GetInterrogatingUserNr(H4501EndpointAddr &);
  377. H4503CDInterrogateDiversionQArg & operator=(H4503CDInterrogateDiversionQArg &);
  378. // Determines if the class has been sufficiently created
  379. boolean Valid();
  380. //@DELB
  381. // For protocol internal use.
  382. void *GetPriv();
  383. ProtReturnCode SetPriv(void *);
  384. private:
  385. void Init();
  386. EmInterrogateDiversionQArg *mInterrogateDiversionQArgPtr;
  387. int mIsInterrogatingUserNrValid;
  388. int mIsValid;
  389. //@DELE
  390. };
  391. /*
  392.  *   This defines the CDCheckRestrictionArg argument.
  393.  * @Name: H4503CDCheckRestrictionArg
  394.  * @Description:
  395.  * H.450.3 Call Diversion checkRestriction argument
  396.  * sent from the served h.323-endpoint to the diverted-to
  397.  * h.323-endpoint.
  398.  *
  399.  * Mandatory fields are:
  400.  * ServedUserNr, BasicService, & DivertedToNr
  401.  * Optional fields are:
  402.  * Extension
  403.  * @See
  404.  * -H4501Invoke
  405.  *
  406.  */
  407. class DLLEXPORT H4503CDCheckRestrictionArg : public H450Arg,
  408. public ItemServedUserNr, public ItemBasicService,
  409. public ItemCDExt
  410. {
  411. public:
  412. // Constructor
  413. H4503CDCheckRestrictionArg();
  414. H4503CDCheckRestrictionArg(H4503CDCheckRestrictionArg &);
  415. // Destructor
  416. ~H4503CDCheckRestrictionArg();
  417. // This sets the divertedToNr field.
  418. // @Name: SetDivertedToNr
  419. // @Description:
  420. // Sets the divertedToNr field with an H4501EndpointAddr class
  421. // @Arguments:
  422. // -reference to H4501EndpointAddr class with divertedToNr data
  423. // @Returns:
  424. // -ProtReturnCode:
  425. // -H450_SUCCESS -success.
  426. // -H450_MEM_ALLOC_FAILED -set failed
  427. // -H450_INVALID_PARAM -incorrect input parameter
  428. virtual ProtReturnCode SetDivertedToNr(H4501EndpointAddr &);
  429. // This gets the divertedToNr field.
  430. // @Name: GetDivertedToNr
  431. // @Description:
  432. // Gets an H4501EndpointAddr class from the divertedToNr field
  433. // @Arguments:
  434. // -reference to H4501EndpointAddr class for divertedToNr data
  435. // @Returns:
  436. // -H4501EndpointAddr with divertedToNr data
  437. // -ProtReturnCode:
  438. // -H450_SUCCESS -success.
  439. // -H450_MEM_ALLOC_FAILED -get failed
  440. // -H450_ITEM_NOT_PRESENT -item not present
  441. // -H450_INVALID_PARAM -incorrect input parameter
  442. virtual ProtReturnCode GetDivertedToNr(H4501EndpointAddr &);
  443. H4503CDCheckRestrictionArg & operator=(H4503CDCheckRestrictionArg &);
  444. // Determines if the class has been sufficiently created
  445. boolean Valid();
  446. //@DELB
  447. // For protocol internal use.
  448. void *GetPriv();
  449. ProtReturnCode SetPriv(void *);
  450. private:
  451. void Init();
  452. EmCheckRestrictionArg *mCheckRestrictionArgPtr;
  453. int mIsDivertedToNrValid;
  454. int mIsValid;
  455. //@DELE
  456. };
  457. /*
  458.  *   This defines the CDCallReroutingArg argument.
  459.  * @Name: H4503CDCallReroutingArg
  460.  * @Description:
  461.  * H.450.3 Call Diversion callRerouting argument
  462.  * sent from the served h.323-endpoint to the rerouting
  463.  * h.323-endpoint.
  464.  *
  465.  * Mandatory fields are:
  466.  * ReroutingReason, CalledAddress, DiversionCounter,
  467.  * H225InfoElement, LastReroutingNr, SubscriptionOption, &
  468.  * CallingNumber
  469.  * Optional fields are:
  470.  * OriginalReroutingReason, CallingPartySubaddress,
  471.  * CallingInfo, OriginalCalledNr, RedirectingInfo,
  472.  * OriginalCalledInfo, & Extension
  473.  * @See
  474.  * -H4501Invoke
  475.  *
  476.  */
  477. class DLLEXPORT H4503CDCallReroutingArg : public H450Arg,
  478. public ItemDiversionCounter, public ItemSubscriptionOption,
  479. public ItemCallingInfo,
  480. public ItemOriginalCalledNr, public ItemRedirectingInfo,
  481. public ItemOriginalCalledInfo, public ItemCDExt
  482. {
  483. public:
  484. // Constructor
  485. H4503CDCallReroutingArg();
  486. H4503CDCallReroutingArg(H4503CDCallReroutingArg &);
  487. // Destructor
  488. ~H4503CDCallReroutingArg();
  489. // This sets the reroutingReason field.
  490. // @Name: SetReroutingReason
  491. // @Description:
  492. // Sets the reroutingReason field
  493. // @Arguments:
  494. // -int with reroutingReason value
  495. // @Returns:
  496. // -ProtReturnCode:
  497. // -H450_SUCCESS -success.
  498. // -H450_MEM_ALLOC_FAILED -set failed
  499. // @See:
  500. // - enum H4503Reason
  501. virtual ProtReturnCode SetReroutingReason(int);
  502. // This gets the reroutingReason field.
  503. // @Name: GetReroutingReason
  504. // @Description:
  505. // Gets the value of the reroutingReason field
  506. // @Arguments:
  507. // -reference to int for reroutingReason
  508. // @Returns:
  509. // -reroutingReason
  510. // -ProtReturnCode:
  511. // -H450_SUCCESS -success.
  512. // -H450_MEM_ALLOC_FAILED -get failed
  513. // -H450_ITEM_NOT_PRESENT -item not present
  514. // @See:
  515. // - enum H4503Reason
  516. virtual ProtReturnCode GetReroutingReason(int &);
  517. // This sets the originalReroutingReason field.
  518. // @Name: SetOriginalReroutingReason
  519. // @Description:
  520. // Sets the originalReroutingReason field
  521. // @Arguments:
  522. // -int with originalReroutingReason value
  523. // @Returns:
  524. // -ProtReturnCode:
  525. // -H450_SUCCESS -success.
  526. // -H450_MEM_ALLOC_FAILED -set failed
  527. // @See:
  528. // - enum H4503Reason
  529. virtual ProtReturnCode SetOriginalReroutingReason(int);
  530. // This gets the originalReroutingReason field.
  531. // @Name: GetOriginalReroutingReason
  532. // @Description:
  533. // Gets the value of the originalReroutingReason field
  534. // @Arguments:
  535. // -reference to int for originalReroutingReason
  536. // @Returns:
  537. // -originalReroutingReason
  538. // -ProtReturnCode:
  539. // -H450_SUCCESS -success.
  540. // -H450_MEM_ALLOC_FAILED -get failed
  541. // -H450_ITEM_NOT_PRESENT -item not present
  542. // @See:
  543. // - enum H4503Reason
  544. virtual ProtReturnCode GetOriginalReroutingReason(int &);
  545. // This sets the calledAddress field.
  546. // @Name: SetCalledAddress
  547. // @Description:
  548. // Sets the calledAddress field with an H4501EndpointAddr class
  549. // @Arguments:
  550. // -reference to H4501EndpointAddr class with calledAddress data
  551. // @Returns:
  552. // -ProtReturnCode:
  553. // -H450_SUCCESS -success.
  554. // -H450_MEM_ALLOC_FAILED -set failed
  555. // -H450_INVALID_PARAM -incorrect input parameter
  556. virtual ProtReturnCode SetCalledAddress(H4501EndpointAddr &);
  557. // This gets the calledAddress field.
  558. // @Name: GetCalledAddress
  559. // @Description:
  560. // Gets an H4501EndpointAddr class from the calledAddress field
  561. // @Arguments:
  562. // -reference to H4501EndpointAddr class for calledAddress data
  563. // @Returns:
  564. // -H4501EndpointAddr with calledAddress data
  565. // -ProtReturnCode:
  566. // -H450_SUCCESS -success.
  567. // -H450_MEM_ALLOC_FAILED -get failed
  568. // -H450_ITEM_NOT_PRESENT -item not present
  569. // -H450_INVALID_PARAM -incorrect input parameter
  570. virtual ProtReturnCode GetCalledAddress(H4501EndpointAddr &);
  571. // This sets the h225InfoElement field.
  572. // @Name: SetH225InfoElement
  573. // @Description:
  574. // Sets the h225InfoElement field with an H4501H225IE class
  575. // @Arguments:
  576. // -reference to H4501H225IE class with h225InfoElement data
  577. // @Returns:
  578. // -ProtReturnCode:
  579. // -H450_SUCCESS -success.
  580. // -H450_MEM_ALLOC_FAILED -set failed
  581. // -H450_INVALID_PARAM -incorrect input parameter
  582. virtual ProtReturnCode SetH225InfoElement(H4501H225IE &);
  583. // This gets the h225InfoElement field.
  584. // @Name: GetH225InfoElement
  585. // @Description:
  586. // Gets an H4501H225IE class from the h225InfoElement field
  587. // @Arguments:
  588. // -reference to H4501H225IE class for h225InfoElement data
  589. // @Returns:
  590. // -H4501H225IE with h225InfoElement data
  591. // -ProtReturnCode:
  592. // -H450_SUCCESS -success.
  593. // -H450_MEM_ALLOC_FAILED -get failed
  594. // -H450_ITEM_NOT_PRESENT -item not present
  595. // -H450_INVALID_PARAM -incorrect input parameter
  596. virtual ProtReturnCode GetH225InfoElement(H4501H225IE &);
  597. // This sets the lastReroutingNr field.
  598. // @Name: SetLastReroutingNr
  599. // @Description:
  600. // Sets the lastReroutingNr field with an H4501EndpointAddr class
  601. // @Arguments:
  602. // -reference to H4501EndpointAddr class with lastReroutingNr data
  603. // @Returns:
  604. // -ProtReturnCode:
  605. // -H450_SUCCESS -success.
  606. // -H450_MEM_ALLOC_FAILED -set failed
  607. // -H450_INVALID_PARAM -incorrect input parameter
  608. virtual ProtReturnCode SetLastReroutingNr(H4501EndpointAddr &);
  609. // This gets the lastReroutingNr field.
  610. // @Name: GetLastReroutingNr
  611. // @Description:
  612. // Gets an H4501EndpointAddr class from the lastReroutingNr field
  613. // @Arguments:
  614. // -reference to H4501EndpointAddr class for lastReroutingNr data
  615. // @Returns:
  616. // -H4501EndpointAddr with lastReroutingNr data
  617. // -ProtReturnCode:
  618. // -H450_SUCCESS -success.
  619. // -H450_MEM_ALLOC_FAILED -get failed
  620. // -H450_ITEM_NOT_PRESENT -item not present
  621. // -H450_INVALID_PARAM -incorrect input parameter
  622. virtual ProtReturnCode GetLastReroutingNr(H4501EndpointAddr &);
  623. // This sets the callingPartySubaddress field.
  624. // @Name: SetCallingPartySubaddress
  625. // @Description:
  626. // Sets the callingPartySubaddress field with an H4501PartySubaddress class
  627. // @Arguments:
  628. // -reference to H4501PartySubaddress class with callingPartySubaddress data
  629. // @Returns:
  630. // -ProtReturnCode:
  631. // -H450_SUCCESS -success.
  632. // -H450_MEM_ALLOC_FAILED -set failed
  633. // -H450_INVALID_PARAM -incorrect input parameter
  634. virtual ProtReturnCode SetCallingPartySubaddress(H4501PartySubaddress &);
  635. // This gets the callingPartySubaddress field.
  636. // @Name: GetCallingPartySubaddress
  637. // @Description:
  638. // Gets an H4501PartySubaddress class from the callingPartySubaddress field
  639. // @Arguments:
  640. // -reference to H4501PartySubaddress class for callingPartySubaddress data
  641. // @Returns:
  642. // -H4501PartySubaddress with callingPartySubaddress data
  643. // -ProtReturnCode:
  644. // -H450_SUCCESS -success.
  645. // -H450_MEM_ALLOC_FAILED -get failed
  646. // -H450_ITEM_NOT_PRESENT -item not present
  647. // -H450_INVALID_PARAM -incorrect input parameter
  648. virtual ProtReturnCode GetCallingPartySubaddress(H4501PartySubaddress &);
  649. // This sets the callingNumber field.
  650. // @Name: SetCallingNumber
  651. // @Description:
  652. // Sets the callingNumber field with an H4501EndpointAddr class
  653. // @Arguments:
  654. // -reference to H4501EndpointAddr class with callingNumber data
  655. // @Returns:
  656. // -ProtReturnCode:
  657. // -H450_SUCCESS -success.
  658. // -H450_MEM_ALLOC_FAILED -set failed
  659. // -H450_INVALID_PARAM -incorrect input parameter
  660. virtual ProtReturnCode SetCallingNumber(H4501EndpointAddr &);
  661. // This gets the callingNumber field.
  662. // @Name: GetCallingNumber
  663. // @Description:
  664. // Gets an H4501EndpointAddr class from the callingNumber field
  665. // @Arguments:
  666. // -reference to H4501EndpointAddr class for callingNumber data
  667. // @Returns:
  668. // -H4501EndpointAddr with callingNumber data
  669. // -ProtReturnCode:
  670. // -H450_SUCCESS -success.
  671. // -H450_MEM_ALLOC_FAILED -get failed
  672. // -H450_ITEM_NOT_PRESENT -item not present
  673. // -H450_INVALID_PARAM -incorrect input parameter
  674. virtual ProtReturnCode GetCallingNumber(H4501EndpointAddr &);
  675. H4503CDCallReroutingArg & operator=(H4503CDCallReroutingArg &);
  676. // Determines if the class has been sufficiently created
  677. boolean Valid();
  678. //@DELB
  679. // For protocol internal use.
  680. void *GetPriv();
  681. ProtReturnCode SetPriv(void *);
  682. private:
  683. void Init();
  684. EmCallReroutingArg *mCallReroutingArgPtr;
  685. int mIsCallingNumberValid;
  686. int mIsCallingPartySubaddressValid;
  687. int mIsLastReroutingNrValid;
  688. int mIsCalledAddressValid;
  689. int mIsReroutingReasonValid;
  690. int mIsOriginalReroutingReasonValid;
  691. int mIsH225InfoElementValid;
  692. int mIsValid;
  693. //@DELE
  694. };
  695. /*
  696.  *   This defines the CDDivertingLegInformation1Arg argument.
  697.  * @Name: H4503CDDivertingLegInformation1Arg
  698.  * @Description:
  699.  * H.450.3 Call Diversion diverting leg information 1 argument
  700.  * sent from the re-routing h.323-endpoint to the originating
  701.  * h.323-endpoint.  If the re-routing endpoint equals the
  702.  * originating endpoint, this operation is not applicable; may
  703.  * also be sent from the rerouting endpoint to other members of a
  704.  * conference, if subscription option allows.
  705.  *
  706.  * Mandatory fields are:
  707.  * DiversionReason, SubscriptionOption, & NominatedNr
  708.  * Optional fields are:
  709.  * NominatedInfo, RedirectingNr, RedirectingInfo, &
  710.  * Extension
  711.  * @See
  712.  * -H4501Invoke
  713.  *
  714.  */
  715. class DLLEXPORT H4503CDDivertingLegInformation1Arg : public H450Arg,
  716. public ItemCDExt, public ItemSubscriptionOption,
  717. public ItemNominatedNr, public ItemNominatedInfo,
  718. public ItemRedirectingInfo, public ItemDiversionReason
  719. {
  720. public:
  721. // Constructor
  722. H4503CDDivertingLegInformation1Arg();
  723. H4503CDDivertingLegInformation1Arg(H4503CDDivertingLegInformation1Arg &);
  724. // Destructor
  725. ~H4503CDDivertingLegInformation1Arg();
  726. // This sets the redirectingNr field.
  727. // @Name: SetRedirectingNr
  728. // @Description:
  729. // Sets the redirectingNr field with an H4501EndpointAddr class
  730. // @Arguments:
  731. // -reference to H4501EndpointAddr class with redirectingNr data
  732. // @Returns:
  733. // -ProtReturnCode:
  734. // -H450_SUCCESS -success.
  735. // -H450_MEM_ALLOC_FAILED -set failed
  736. // -H450_INVALID_PARAM -incorrect input parameter
  737. virtual ProtReturnCode SetRedirectingNr(H4501EndpointAddr &);
  738. // This gets the redirectingNr field.
  739. // @Name: GetRedirectingNr
  740. // @Description:
  741. // Gets an H4501EndpointAddr class from the redirectingNr field
  742. // @Arguments:
  743. // -reference to H4501EndpointAddr class for redirectingNr data
  744. // @Returns:
  745. // -H4501EndpointAddr with redirectingNr data
  746. // -ProtReturnCode:
  747. // -H450_SUCCESS -success.
  748. // -H450_MEM_ALLOC_FAILED -get failed
  749. // -H450_ITEM_NOT_PRESENT -item not present
  750. // -H450_INVALID_PARAM -incorrect input parameter
  751. virtual ProtReturnCode GetRedirectingNr(H4501EndpointAddr &);
  752. H4503CDDivertingLegInformation1Arg & operator=(H4503CDDivertingLegInformation1Arg &);
  753. // Determines if the class has been sufficiently created
  754. boolean Valid();
  755. //@DELB
  756. // For protocol internal use.
  757. void *GetPriv();
  758. ProtReturnCode SetPriv(void *);
  759. private:
  760. void Init();
  761. EmDivertingLegInformation1Arg *mDivertingLegInformation1ArgPtr;
  762. int mIsRedirectingNrValid;
  763. int mIsValid;
  764. //@DELE
  765. };
  766. /*
  767.  *   This defines the CDDivertingLegInformation2Arg argument.
  768.  * @Name: H4503CDDivertingLegInformation2Arg
  769.  * @Description:
  770.  * H.450.3 Call Diversion diverting leg information 2 argument
  771.  * sent from the re-routing h.323-endpoint to the diverted-to
  772.  * h.323-endpoint.
  773.  *
  774.  * Mandatory fields are:
  775.  * DiversionCounter, & DiversionReason
  776.  * Optional fields are:
  777.  * OriginalDiversionReason, DivertingNr, OriginalCalledNr,
  778.  * RedirectingInfo, OriginalCalledInfo, & Extension
  779.  * @See
  780.  * -H4501Invoke
  781.  *
  782.  */
  783. class DLLEXPORT H4503CDDivertingLegInformation2Arg : public H450Arg,
  784. public ItemCDExt, public ItemDiversionReason,
  785. public ItemOriginalCalledNr, public ItemRedirectingInfo,
  786. public ItemOriginalCalledInfo, public ItemDiversionCounter
  787. {
  788. public:
  789. // Constructor
  790. H4503CDDivertingLegInformation2Arg();
  791. H4503CDDivertingLegInformation2Arg(H4503CDDivertingLegInformation2Arg &);
  792. // Destructor
  793. ~H4503CDDivertingLegInformation2Arg();
  794. // This sets the originalDiversionReason field.
  795. // @Name: SetOriginalDiversionReason
  796. // @Description:
  797. // Sets the originalDiversionReason field
  798. // @Arguments:
  799. // -int with originalDiversionReason value
  800. // @Returns:
  801. // -ProtReturnCode:
  802. // -H450_SUCCESS -success.
  803. // -H450_MEM_ALLOC_FAILED -set failed
  804. // @See:
  805. // - H4503Reason
  806. virtual ProtReturnCode SetOriginalDiversionReason(int);
  807. // This gets the originalDiversionReason field.
  808. // @Name: GetOriginalDiversionReason
  809. // @Description:
  810. // Gets the value of the originalDiversionReason field
  811. // @Arguments:
  812. // -reference to int for originalDiversionReason
  813. // @Returns:
  814. // -originalDiversionReason
  815. // -ProtReturnCode:
  816. // -H450_SUCCESS -success.
  817. // -H450_MEM_ALLOC_FAILED -get failed
  818. // -H450_ITEM_NOT_PRESENT -item not present
  819. virtual ProtReturnCode GetOriginalDiversionReason(int &);
  820. // This sets the divertingNr field.
  821. // @Name: SetDivertingNr
  822. // @Description:
  823. // Sets the divertingNr field with an H4501EndpointAddr class
  824. // @Arguments:
  825. // -reference to H4501EndpointAddr class with divertingNr data
  826. // @Returns:
  827. // -ProtReturnCode:
  828. // -H450_SUCCESS -success.
  829. // -H450_MEM_ALLOC_FAILED -set failed
  830. // -H450_INVALID_PARAM -incorrect input parameter
  831. virtual ProtReturnCode SetDivertingNr(H4501EndpointAddr &);
  832. // This gets the divertingNr field.
  833. // @Name: GetDivertingNr
  834. // @Description:
  835. // Gets an H4501EndpointAddr class from the divertingNr field
  836. // @Arguments:
  837. // -reference to H4501EndpointAddr class for divertingNr data
  838. // @Returns:
  839. // -H4501EndpointAddr with divertingNr data
  840. // -ProtReturnCode:
  841. // -H450_SUCCESS -success.
  842. // -H450_MEM_ALLOC_FAILED -get failed
  843. // -H450_ITEM_NOT_PRESENT -item not present
  844. // -H450_INVALID_PARAM -incorrect input parameter
  845. virtual ProtReturnCode GetDivertingNr(H4501EndpointAddr &);
  846. H4503CDDivertingLegInformation2Arg & operator=(H4503CDDivertingLegInformation2Arg &);
  847. // Determines if the class has been sufficiently created
  848. boolean Valid();
  849. //@DELB
  850. // For protocol internal use.
  851. void *GetPriv();
  852. ProtReturnCode SetPriv(void *);
  853. private:
  854. void Init();
  855. EmDivertingLegInformation2Arg *mDivertingLegInformation2ArgPtr;
  856. int mIsDivertingNrValid;
  857. int mIsOriginalDiversionReasonValid;
  858. int mIsValid;
  859. //@DELE
  860. };
  861. /*
  862.  *   This defines the CDDivertingLegInformation3Arg argument.
  863.  * @Name: H4503CDDivertingLegInformation3Arg
  864.  * @Description:
  865.  * H.450.3 Call Diversion diverting leg information 3 argument
  866.  * sent from the diverted-to h.323-endpoint to the originating
  867.  * h.323-endpoint.
  868.  *
  869.  * Mandatory fields are:
  870.  * PresentationAllowedIndicator
  871.  * Optional fields are:
  872.  * RedirectionNr, RedirectionInfo, & Extension
  873.  * @See
  874.  * -H4501Invoke
  875.  *
  876.  */
  877. class DLLEXPORT H4503CDDivertingLegInformation3Arg : public H450Arg,
  878. public ItemCDExt
  879. {
  880. public:
  881. // Constructor
  882. H4503CDDivertingLegInformation3Arg();
  883. H4503CDDivertingLegInformation3Arg(H4503CDDivertingLegInformation3Arg &);
  884. // Destructor
  885. ~H4503CDDivertingLegInformation3Arg();
  886. // This sets the presentationAllowedIndicator field.
  887. // @Name: SetPresentationAllowedIndicator
  888. // @Description:
  889. // Sets the presentationAllowedIndicator field
  890. // @Arguments:
  891. // -boolean with presentationAllowedIndicator value
  892. // @Returns:
  893. // -ProtReturnCode:
  894. // -H450_SUCCESS -success.
  895. // -H450_MEM_ALLOC_FAILED -set failed
  896. // @See:
  897. // -
  898. virtual ProtReturnCode SetPresentationAllowedIndicator(boolean);
  899. // This gets the presentationAllowedIndicator field.
  900. // @Name: GetPresentationAllowedIndicator
  901. // @Description:
  902. // Gets the value of the presentationAllowedIndicator field
  903. // @Arguments:
  904. // -reference to boolean for presentationAllowedIndicator
  905. // @Returns:
  906. // -presentationAllowedIndicator
  907. // -ProtReturnCode:
  908. // -H450_SUCCESS -success.
  909. // -H450_MEM_ALLOC_FAILED -get failed
  910. // -H450_ITEM_NOT_PRESENT -item not present
  911. virtual ProtReturnCode GetPresentationAllowedIndicator(boolean &);
  912. // This sets the redirectionNr field.
  913. // @Name: SetRedirectionNr
  914. // @Description:
  915. // Sets the redirectionNr field with an H4501EndpointAddr class
  916. // @Arguments:
  917. // -reference to H4501EndpointAddr class with redirectionNr data
  918. // @Returns:
  919. // -ProtReturnCode:
  920. // -H450_SUCCESS -success.
  921. // -H450_MEM_ALLOC_FAILED -set failed
  922. // -H450_INVALID_PARAM -incorrect input parameter
  923. virtual ProtReturnCode SetRedirectionNr(H4501EndpointAddr &);
  924. // This gets the redirectionNr field.
  925. // @Name: GetRedirectionNr
  926. // @Description:
  927. // Gets an H4501EndpointAddr class from the redirectionNr field
  928. // @Arguments:
  929. // -reference to H4501EndpointAddr class for redirectionNr data
  930. // @Returns:
  931. // -H4501EndpointAddr with redirectionNr data
  932. // -ProtReturnCode:
  933. // -H450_SUCCESS -success.
  934. // -H450_MEM_ALLOC_FAILED -get failed
  935. // -H450_ITEM_NOT_PRESENT -item not present
  936. // -H450_INVALID_PARAM -incorrect input parameter
  937. virtual ProtReturnCode GetRedirectionNr(H4501EndpointAddr &);
  938. // This sets the redirectionInfo field.
  939. // @Name: SetRedirectionInfo
  940. // @Description:
  941. // Sets the redirectionInfo field
  942. // @Arguments:
  943. // -pointer to unsigned short array
  944. // -array length
  945. // @Returns:
  946. // -ProtReturnCode:
  947. // -H450_SUCCESS -success.
  948. // -H450_MEM_ALLOC_FAILED -set failed
  949. // -H450_INVALID_PARAM -incorrect input parameter
  950. ProtReturnCode SetRedirectionInfo(unsigned short *, int);
  951. // This gets the redirectionInfo field.
  952. // @Name: GetRedirectionInfo
  953. // @Description:
  954. // Gets the array from the redirectionInfo field
  955. // @Arguments:
  956. // -reference to array pointer for redirectionInfo data
  957. // -reference to int for redirectionInfo length
  958. // @Returns:
  959. // -pointer to BMP string array and length
  960. // -ProtReturnCode:
  961. // -H450_SUCCESS -success.
  962. // -H450_ITEM_NOT_PRESENT -item not present
  963. ProtReturnCode GetRedirectionInfo(unsigned short *&, int &);
  964. H4503CDDivertingLegInformation3Arg & operator=(H4503CDDivertingLegInformation3Arg &);
  965. // Determines if the class has been sufficiently created
  966. boolean Valid();
  967. //@DELB
  968. // For protocol internal use.
  969. void *GetPriv();
  970. ProtReturnCode SetPriv(void *);
  971. private:
  972. void Init();
  973. EmDivertingLegInformation3Arg *mDivertingLegInformation3ArgPtr;
  974. int mIsRedirectionInfoValid;
  975. int mIsRedirectionNrValid;
  976. int mIsPresentationAllowedIndicatorValid;
  977. int mIsValid;
  978. //@DELE
  979. };
  980. /*
  981.  *   This defines the CDDivertingLegInformation4Arg argument.
  982.  * @Name: H4503CDDivertingLegInformation4Arg
  983.  * @Description:
  984.  * H.450.3 Call Diversion diverting leg information 4 argument.
  985.  * If call diversion is not performed by the forwarding terminal
  986.  * but by a gatekeeper, the gatekeeper may send divertingLegInformation4
  987.  * apdu to the forwarding terminal.
  988.  *
  989.  * Mandatory fields are:
  990.  * DiversionReason, SubscriptionOption, CallingNr, &
  991.  * NominatedNr
  992.  * Optional fields are:
  993.  * CallingInfo, NominatedInfo, & Extension
  994.  * @See
  995.  * -H4501Invoke
  996.  *
  997.  */
  998. class DLLEXPORT H4503CDDivertingLegInformation4Arg : public H450Arg,
  999. public ItemCDExt, public ItemSubscriptionOption,
  1000. public ItemCallingInfo, public ItemNominatedNr,
  1001. public ItemNominatedInfo, public ItemDiversionReason
  1002. {
  1003. public:
  1004. // Constructor
  1005. H4503CDDivertingLegInformation4Arg();
  1006. H4503CDDivertingLegInformation4Arg(H4503CDDivertingLegInformation4Arg &);
  1007. // Destructor
  1008. ~H4503CDDivertingLegInformation4Arg();
  1009. // This sets the callingNr field.
  1010. // @Name: SetCallingNr
  1011. // @Description:
  1012. // Sets the callingNr field with an H4501EndpointAddr class
  1013. // @Arguments:
  1014. // -reference to H4501EndpointAddr class with callingNr data
  1015. // @Returns:
  1016. // -ProtReturnCode:
  1017. // -H450_SUCCESS -success.
  1018. // -H450_MEM_ALLOC_FAILED -set failed
  1019. // -H450_INVALID_PARAM -incorrect input parameter
  1020. virtual ProtReturnCode SetCallingNr(H4501EndpointAddr &);
  1021. // This gets the callingNr field.
  1022. // @Name: GetCallingNr
  1023. // @Description:
  1024. // Gets an H4501EndpointAddr class from the callingNr field
  1025. // @Arguments:
  1026. // -reference to H4501EndpointAddr class for callingNr data
  1027. // @Returns:
  1028. // -H4501EndpointAddr with callingNr data
  1029. // -ProtReturnCode:
  1030. // -H450_SUCCESS -success.
  1031. // -H450_MEM_ALLOC_FAILED -get failed
  1032. // -H450_ITEM_NOT_PRESENT -item not present
  1033. // -H450_INVALID_PARAM -incorrect input parameter
  1034. virtual ProtReturnCode GetCallingNr(H4501EndpointAddr &);
  1035. H4503CDDivertingLegInformation4Arg & operator=(H4503CDDivertingLegInformation4Arg &);
  1036. // Determines if the class has been sufficiently created
  1037. boolean Valid();
  1038. //@DELB
  1039. // For protocol internal use.
  1040. void *GetPriv();
  1041. ProtReturnCode SetPriv(void *);
  1042. private:
  1043. void Init();
  1044. EmDivertingLegInformation4Arg *mDivertingLegInformation4ArgPtr;
  1045. int mIsCallingNrValid;
  1046. int mIsValid;
  1047. //@DELE
  1048. };
  1049. /*
  1050.  *   This defines the CDCfnrDivertedLegFailedArg argument.
  1051.  * @Name: H4503CDCfnrDivertedLegFailedArg
  1052.  * @Description:
  1053.  * H.450.3 Call Diversion diverted leg failed argument
  1054.  * sent from the rerouting h.323-terminal to the served
  1055.  * h.323-endpoint.
  1056.  *
  1057.  * Mandatory fields are:
  1058.  * none
  1059.  * Optional fields are:
  1060.  * Extension
  1061.  * @See
  1062.  * -H4501Invoke
  1063.  *
  1064.  */
  1065. class DLLEXPORT H4503CDCfnrDivertedLegFailedArg : public H450Arg,
  1066. public ItemCDExt
  1067. {
  1068. public:
  1069. // Constructor
  1070. H4503CDCfnrDivertedLegFailedArg();
  1071. H4503CDCfnrDivertedLegFailedArg(H4503CDCfnrDivertedLegFailedArg &);
  1072. // Destructor
  1073. ~H4503CDCfnrDivertedLegFailedArg();
  1074. H4503CDCfnrDivertedLegFailedArg & operator=(H4503CDCfnrDivertedLegFailedArg &);
  1075. // Determines if the class has been sufficiently created
  1076. boolean Valid();
  1077. //@DELB
  1078. // For protocol internal use.
  1079. void *GetPriv();
  1080. ProtReturnCode SetPriv(void *);
  1081. private:
  1082. void Init();
  1083. EmCallDiversionExtension *mCfnrDivertedLegFailedArgPtr;
  1084. int mIsValid;
  1085. //@DELE
  1086. };
  1087. //}///////////////////////////////////////////////////
  1088. // Result Classes
  1089. //{///////////////////////////////////////////////////
  1090. /*
  1091.  *   This defines the CDActivateDiversionQRes result.
  1092.  * @Name: H4503CDActivateDiversionQRes
  1093.  * @Description:
  1094.  * H.450.3 Call Diversion activateDiversionQ result
  1095.  * sent from the activating h.323-endpoint to the served
  1096.  * h.323-endpoint
  1097.  *
  1098.  * Optional fields are:
  1099.  * Extension
  1100.  * @See
  1101.  * -H4501ReturnResult
  1102.  *
  1103.  */
  1104. class DLLEXPORT H4503CDActivateDiversionQRes : public H450Res,
  1105. public ItemCDExt
  1106. {
  1107. public:
  1108. // Constructor
  1109. H4503CDActivateDiversionQRes();
  1110. H4503CDActivateDiversionQRes(H4503CDActivateDiversionQRes &);
  1111. // Destructor
  1112. ~H4503CDActivateDiversionQRes();
  1113. H4503CDActivateDiversionQRes & operator=(H4503CDActivateDiversionQRes &);
  1114. // Determines if the class has been sufficiently created
  1115. boolean Valid();
  1116. //@DELB
  1117. // For protocol internal use.
  1118. void *GetPriv();
  1119. ProtReturnCode SetPriv(void *);
  1120. private:
  1121. void Init();
  1122. EmCallDiversionExtension *mActivateDiversionQResPtr;
  1123. int mIsValid;
  1124. //@DELE
  1125. };
  1126. /*
  1127.  *   This defines the CDDeactivateDiversionQRes result.
  1128.  * @Name: H4503CDDeactivateDiversionQRes
  1129.  * @Description:
  1130.  * H.450.3 Call Diversion deactivateDiversionQ result
  1131.  * sent from the deactivating h.323-endpoint to the served
  1132.  * h.323-endpoint
  1133.  *
  1134.  * Optional fields are:
  1135.  * Extension
  1136.  * @See
  1137.  * -H4501ReturnResult
  1138.  *
  1139.  */
  1140. class DLLEXPORT H4503CDDeactivateDiversionQRes : public H450Res,
  1141. public ItemCDExt
  1142. {
  1143. public:
  1144. // Constructor
  1145. H4503CDDeactivateDiversionQRes();
  1146. H4503CDDeactivateDiversionQRes(H4503CDDeactivateDiversionQRes &);
  1147. // Destructor
  1148. ~H4503CDDeactivateDiversionQRes();
  1149. H4503CDDeactivateDiversionQRes & operator=(H4503CDDeactivateDiversionQRes &);
  1150. // Determines if the class has been sufficiently created
  1151. boolean Valid();
  1152. //@DELB
  1153. // For protocol internal use.
  1154. void *GetPriv();
  1155. ProtReturnCode SetPriv(void *);
  1156. private:
  1157. void Init();
  1158. EmCallDiversionExtension *mDeactivateDiversionQResPtr;
  1159. int mIsValid;
  1160. //@DELE
  1161. };
  1162. /*
  1163.  *   This defines the CDInterrogateDiversionQRes result.
  1164.  * @Name: H4503CDInterrogateDiversionQRes
  1165.  * @Description:
  1166.  * H.450.3 Call Diversion interrogateDiversionQ result
  1167.  * sent from the interrogating h.323-endpoint to the served
  1168.  * h.323-endpoint.
  1169.  *
  1170.  * Mandatory fields are:
  1171.  * IntResultList
  1172.  * @See
  1173.  * -H4501ReturnResult
  1174.  *
  1175.  */
  1176. class DLLEXPORT H4503CDInterrogateDiversionQRes : public H450Res
  1177. {
  1178. public:
  1179. // Constructor
  1180. H4503CDInterrogateDiversionQRes();
  1181. H4503CDInterrogateDiversionQRes(H4503CDInterrogateDiversionQRes &);
  1182. // Destructor
  1183. ~H4503CDInterrogateDiversionQRes();
  1184. // This adds an H4503IntResult to the list
  1185. // @Name:   AddIntResult
  1186. // @Description:
  1187. //      Adds an H4503IntResult to the IntResultList field.
  1188. // @Arguments:
  1189. //      -reference to H4503IntResult class with IntResult data
  1190. // @Returns:
  1191. //      -ProtReturnCode:
  1192. //          -H450_SUCCESS           -success.
  1193. //          -H450_MEM_ALLOC_FAILED  -set failed
  1194. //          -H450_INVALID_PARAM     -incorrect input parameter
  1195. ProtReturnCode AddIntResult(H4503IntResult &);
  1196. // This gets the number of H4503IntResults in the list
  1197. // @Name:   GetNumIntResults
  1198. // @Description:
  1199. //      Gets the number of H4503IntResults in the IntResultList
  1200. // field.
  1201. // @Arguments:
  1202. //      -reference to int count
  1203. // @Returns:
  1204. //      -ProtReturnCode:
  1205. //          -H450_SUCCESS           -success.
  1206. //          -H450_ITEM_NOT_PRESENT  -item not present
  1207. ProtReturnCode GetNumIntResults(int &count);
  1208. // This gets a list of H4503IntResults
  1209. // @Name:   AddIntResult
  1210. // @Description:
  1211. //      Gets a list of H4503IntResults from the IntResultList
  1212. // field.
  1213. // @Arguments:
  1214. //      -array of H4503IntResult classes
  1215. //      -reference to int count
  1216. // @Returns:
  1217. //      -ProtReturnCode:
  1218. //          -H450_SUCCESS           -success.
  1219. //          -H450_MEM_ALLOC_FAILED  -set failed
  1220. //          -H450_ITEM_NOT_PRESENT  -item not present
  1221. //          -H450_INVALID_PARAM     -incorrect input parameter
  1222. ProtReturnCode GetIntResults(H4503IntResult list[], int &count);
  1223. H4503CDInterrogateDiversionQRes & operator=(H4503CDInterrogateDiversionQRes &);
  1224. // Determines if the class has been sufficiently created
  1225. boolean Valid();
  1226. //@DELB
  1227. // For protocol internal use.
  1228. void *GetPriv();
  1229. ProtReturnCode SetPriv(void *);
  1230. private:
  1231. void Init();
  1232. EmIntResultList *mInterrogateDiversionQResPtr;
  1233. int mIsValid;
  1234. //@DELE
  1235. };
  1236. /*
  1237.  *   This defines the CDCheckRestrictionRes result.
  1238.  * @Name: H4503CDCheckRestrictionRes
  1239.  * @Description:
  1240.  * H.450.3 Call Diversion checkRestriction result
  1241.  * sent from the served h.323-endpoint to the diverted-to
  1242.  * h.323-endpoint
  1243.  *
  1244.  * Optional fields are:
  1245.  * Extension
  1246.  * @See
  1247.  * -H4501ReturnResult
  1248.  *
  1249.  */
  1250. class DLLEXPORT H4503CDCheckRestrictionRes : public H450Res,
  1251. public ItemCDExt
  1252. {
  1253. public:
  1254. // Constructor
  1255. H4503CDCheckRestrictionRes();
  1256. H4503CDCheckRestrictionRes(H4503CDCheckRestrictionRes &);
  1257. // Destructor
  1258. ~H4503CDCheckRestrictionRes();
  1259. H4503CDCheckRestrictionRes & operator=(H4503CDCheckRestrictionRes &);
  1260. // Determines if the class has been sufficiently created
  1261. boolean Valid();
  1262. //@DELB
  1263. // For protocol internal use.
  1264. void *GetPriv();
  1265. ProtReturnCode SetPriv(void *);
  1266. private:
  1267. void Init();
  1268. EmCallDiversionExtension *mCheckRestrictionResPtr;
  1269. int mIsValid;
  1270. //@DELE
  1271. };
  1272. /*
  1273.  *   This defines the CDCallReroutingRes result.
  1274.  * @Name: H4503CDCallReroutingRes
  1275.  * @Description:
  1276.  * H.450.3 Call Diversion callRerouting result
  1277.  * sent from the served h.323-endpoint to the rerouting
  1278.  * h.323-endpoint
  1279.  *
  1280.  * Optional fields are:
  1281.  * Extension
  1282.  * @See
  1283.  * -H4501ReturnResult
  1284.  *
  1285.  */
  1286. class DLLEXPORT H4503CDCallReroutingRes : public H450Res,
  1287. public ItemCDExt
  1288. {
  1289. public:
  1290. // Constructor
  1291. H4503CDCallReroutingRes();
  1292. H4503CDCallReroutingRes(H4503CDCallReroutingRes &);
  1293. // Destructor
  1294. ~H4503CDCallReroutingRes();
  1295. H4503CDCallReroutingRes & operator=(H4503CDCallReroutingRes &);
  1296. // Determines if the class has been sufficiently created
  1297. boolean Valid();
  1298. //@DELB
  1299. // For protocol internal use.
  1300. void *GetPriv();
  1301. ProtReturnCode SetPriv(void *);
  1302. private:
  1303. void Init();
  1304. EmCallDiversionExtension *mCallReroutingResPtr;
  1305. int mIsValid;
  1306. //@DELE
  1307. };
  1308. //}///////////////////////////////////////////////////
  1309. #endif /* __H4503RESARG_H__ */