SipphoneEvent.hpp 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. #ifndef _SIPPHONE_EVENT_HPP
  2. #define _SIPPHONE_EVENT_HPP
  3. #pragma once
  4. #include "slot.h"
  5. #include "trigger.h"
  6. //typedef struct rvc_slotvar_s {
  7. // char* strName;
  8. // char* strValue;
  9. //}rvc_slotvar_t;
  10. //typedef struct rvc_slotfilter_s {
  11. // char* strLogType;
  12. // char* strEntity;
  13. // char* strSeverityLevel;
  14. // char* strSysError;
  15. // char* strUserCode;
  16. // char* strContentToVar
  17. //}rvc_slotfilter_t;
  18. //typedef struct rvc_slot_s {
  19. // char* strCode;
  20. // char* strTimeout;
  21. // char* strOneTrigger;
  22. // rvc_slotvar_t Vars[RVC_MAX_SLOT_FIELD_LEN];
  23. // rvc_slotfilter_t Filters[RVC_MAX_SLOT_FIELD_LEN];
  24. // char* strResetSource
  25. //}rvc_slot_t;
  26. //<SlotList>
  27. // <Slot Code = "PickupCallSlot" Timeout = "2s" OneTrigger = "true">
  28. // <Filter LogType = "Log_Event" UserCode = "0x20900005"/>
  29. // </Slot>
  30. //
  31. // <Slot Code = "HandFreeCallSlot" Timeout = "0">
  32. // <Var Name = "BusnessCode" Value = ""/>
  33. // <Filter LogType = "Log_Event" UserCode = "0x48000001" ContentToVar = "BusnessCode"/>
  34. // <Filter LogType = "Log_Event" UserCode = "0x48000002" ContentToVar = "BusnessCode"/>
  35. // <Filter LogType = "Log_Event" UserCode = "0x30E00001"/>
  36. // </Slot>
  37. //
  38. // <Slot Code = "HandFreeToPickupCallSlot" Timeout = "0">
  39. // <Filter LogType = "Log_Event" UserCode = "0x20900005"/>
  40. // <Filter LogType = "Log_Event" UserCode = "0x30902082"/>
  41. // </Slot>
  42. //
  43. // <Slot Code = "PickupToHandFreeSlot" Timeout = "0">
  44. // <Filter LogType = "Log_Event" UserCode = "0x20900006"/>
  45. // <Filter LogType = "Log_Event" UserCode = "0x30902081"/>
  46. // <Reset Source = "PickupCallSlot"/>
  47. // </Slot>
  48. //
  49. // <Slot Code = "HangupCallSlot" Timeout = "0">
  50. // <Filter LogType = "Log_Event" UserCode = "0x30903041"/>
  51. // <Filter LogType = "Log_Event" UserCode = "0x48000003"/>
  52. // <Reset Source = "PickupCallSlot"/>
  53. // </Slot>
  54. //</SlotList>
  55. rvc_slot_t PickupCallSlot =
  56. {
  57. "PickupCallSlot",
  58. "2s",
  59. "true",
  60. {},
  61. {
  62. {"Log_Event", NULL, NULL, NULL, "0x20900005", NULL}
  63. },
  64. {}
  65. };
  66. rvc_slot_t HandFreeCallSlot =
  67. {
  68. "HandFreeCallSlot",
  69. "0",
  70. NULL,
  71. {
  72. {"BusnessCode", ""}
  73. },
  74. {
  75. {"Log_Event", NULL, NULL, NULL, "0x48000001", "BusnessCode"},
  76. {"Log_Event", NULL, NULL, NULL, "0x48000002", "BusnessCode"},
  77. {"Log_Event", NULL, NULL, NULL, "0x30E00001", NULL},
  78. },
  79. {}
  80. };
  81. rvc_slot_t HandFreeToPickupCallSlot =
  82. {
  83. "HandFreeToPickupCallSlot",
  84. "0",
  85. NULL,
  86. {
  87. {}
  88. },
  89. {
  90. {"Log_Event", NULL, NULL, NULL, "0x20900005", NULL},
  91. {"Log_Event", NULL, NULL, NULL, "0x30902082", NULL}
  92. },
  93. {}
  94. };
  95. rvc_slot_t PickupToHandFreeSlot =
  96. {
  97. "PickupToHandFreeSlot",
  98. "0",
  99. NULL,
  100. {
  101. {}
  102. },
  103. {
  104. {"Log_Event", NULL, NULL, NULL, "0x20900006", NULL},
  105. {"Log_Event", NULL, NULL, NULL, "0x30902081", NULL}
  106. },
  107. {"PickupCallSlot"}
  108. };
  109. rvc_slot_t HangupCallSlot =
  110. {
  111. "HangupCallSlot",
  112. "0",
  113. NULL,
  114. {
  115. {}
  116. },
  117. {
  118. {"Log_Event", NULL, NULL, NULL, "0x30903041", NULL},
  119. {"Log_Event", NULL, NULL, NULL, "0x48000003", NULL}
  120. },
  121. {"PickupCallSlot"}
  122. };
  123. //<TriggerList>
  124. // <Trigger LogType = "Log_Event" UserCode = "0x10303041" SeverityLevel = "2" Message = "PickupCallingEvent">
  125. // <Slot Code = "PickupCallSlot"/>
  126. // <SysVar Code = "CallState">
  127. // <state>O</state>
  128. // </SysVar>
  129. // </Trigger>
  130. //
  131. //
  132. // <Trigger LogType = "Log_Event" UserCode = "0x10303042" SeverityLevel = "2" Message = "#HandFreeCallingEvent">
  133. // <Slot Code = "HandFreeCallSlot" Message = "$(BusnessCode)"/>
  134. // <SysVar Code = "CallState">
  135. // <state>O</state>
  136. // </SysVar>
  137. // </Trigger>
  138. //
  139. // <Trigger LogType = "Log_Event" UserCode = "0x10303046" SeverityLevel = "2" Message = "HandFreeToPickupEvent">
  140. // <Slot Code = "HandFreeToPickupCallSlot"/>
  141. // <SysVar Code = "CallState">
  142. // <state>C</state>
  143. // <state>H</state>
  144. // </SysVar>
  145. // </Trigger>
  146. //
  147. // <Trigger LogType = "Log_Event" UserCode = "0x10303047" SeverityLevel = "2" Message = "PickupToHandFreeEvent">
  148. // <Slot Code = "PickupToHandFreeSlot"/>
  149. // <SysVar Code = "CallState">
  150. // <state>P</state>
  151. // </SysVar>
  152. // </Trigger>
  153. //
  154. // <Trigger LogType = "Log_Event" UserCode = "0x10303048" SeverityLevel = "2" Message = "HangupEvent1">
  155. // <Slot Code = "HangupCallSlot"/>
  156. // <SysVar Code = "CallState">
  157. // <state>C</state>
  158. // </SysVar>
  159. // </Trigger>
  160. //
  161. // <Trigger LogType = "Log_Event" UserCode = "0x10303048" SeverityLevel = "2" Message = "HangupEvent2">
  162. // <Slot Code = "HangupCallSlot"/>
  163. // <SysVar Code = "CallState">
  164. // <state>P</state>
  165. // <state>H</state>
  166. // </SysVar>
  167. // <SysVar Code = "BackInitiative">
  168. // <state>F</state>
  169. // </SysVar>
  170. // </Trigger>
  171. //
  172. // <Trigger LogType = "Log_Event" UserCode = "0x10303049" SeverityLevel = "2" Message = "HangupEvent3">
  173. // <Slot Code = "PickupToHandFreeSlot" / >
  174. // <SysVar Code = "CallState">
  175. // <state>C</state>
  176. // </SysVar>
  177. // </Trigger>
  178. //</TriggerList>
  179. //typedef struct rvc_trigger_s {
  180. // char* strLogType;
  181. // char* strSeverityLevel;
  182. // char* strSysError;
  183. // char* strUserCode;
  184. // char* strMessage;
  185. // rvc_triggerslot_t Slots[RVC_MAX_TRIG_FIELD_LEN];
  186. // rvc_triggersysvar_t SysVars[RVC_MAX_TRIG_FIELD_LEN];
  187. // char* strDelayer;
  188. //}rvc_trigger_t;
  189. //typedef struct rvc_triggerslot_s {
  190. // char* strCode;
  191. // char* strPositive;
  192. // char* strMessage;
  193. //}rvc_triggerslot_t;
  194. //
  195. //
  196. //typedef struct rvc_triggersysvar_s {
  197. // char* strCode;
  198. // char* strPositive;
  199. // char* strstates;
  200. //}rvc_triggersysvar_t;
  201. rvc_trigger_t trigPickupCallingEvent = {
  202. "Log_Event",
  203. "0x10303041",
  204. "2",
  205. "PickupCallingEvent",
  206. NULL,
  207. {
  208. {"PickupCallSlot", NULL, NULL}
  209. },
  210. {
  211. {"CallState", NULL, {"O"}}
  212. },
  213. NULL
  214. };
  215. rvc_trigger_t trigHandFreeCallingEvent = {
  216. "Log_Event",
  217. "0x10303042",
  218. "2",
  219. "#HandFreeCallingEvent",
  220. NULL,
  221. {
  222. {"HandFreeCallSlot", NULL, "$(BusnessCode)"}
  223. },
  224. {
  225. {"CallState", NULL, {"O"}}
  226. },
  227. NULL
  228. };
  229. rvc_trigger_t trigHandFreeToPickupEvent = {
  230. "Log_Event",
  231. "0x10303046",
  232. "2",
  233. "HandFreeToPickupEvent",
  234. NULL,
  235. {
  236. {"HandFreeToPickupCallSlot", NULL, NULL}
  237. },
  238. {
  239. {"CallState", NULL, {"C","H"}}
  240. },
  241. NULL
  242. };
  243. rvc_trigger_t trigPickupToHandFreeEvent = {
  244. "Log_Event",
  245. "0x10303047",
  246. "2",
  247. "PickupToHandFreeEvent",
  248. NULL,
  249. {
  250. {"PickupToHandFreeSlot", NULL, NULL}
  251. },
  252. {
  253. {"CallState", NULL, {"P"}}
  254. },
  255. NULL
  256. };
  257. rvc_trigger_t trigHangupEvent1 = {
  258. "Log_Event",
  259. "0x10303048",
  260. "2",
  261. "HangupEvent1",
  262. NULL,
  263. {
  264. {"HangupCallSlot", NULL, NULL}
  265. },
  266. {
  267. {"CallState", NULL, {"C"}}
  268. },
  269. NULL
  270. };
  271. rvc_trigger_t trigHangupEvent2 = {
  272. "Log_Event",
  273. "0x10303048",
  274. "2",
  275. "HangupEvent2",
  276. NULL,
  277. {
  278. {"HangupCallSlot", NULL, NULL}
  279. },
  280. {
  281. {"CallState", NULL, {"P", "H"}},
  282. {"BackInitiative", NULL, {"F"}},
  283. },
  284. NULL
  285. };
  286. rvc_trigger_t trigHangupEvent3 = {
  287. "Log_Event",
  288. "0x10303049",
  289. "2",
  290. "HangupEvent3",
  291. NULL,
  292. {
  293. {"PickupToHandFreeSlot", NULL, NULL}
  294. },
  295. {
  296. {"CallState", NULL, {"C"}},
  297. },
  298. NULL
  299. };
  300. rvc_slot_t SipphoneSlotList[] = {
  301. PickupCallSlot,
  302. HandFreeCallSlot,
  303. HandFreeToPickupCallSlot,
  304. PickupToHandFreeSlot,
  305. HangupCallSlot
  306. };
  307. rvc_trigger_t SipphoneTriggerList[] = {
  308. trigPickupCallingEvent,
  309. trigHandFreeCallingEvent,
  310. trigHandFreeToPickupEvent,
  311. trigPickupToHandFreeEvent,
  312. trigHangupEvent1,
  313. trigHangupEvent2,
  314. trigHangupEvent3
  315. };
  316. #endif