Test_Events.php 67.5 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573
<?php
/**
 * This class will test some events.
 *
 * PHP Version 5
 *
 * @category   Pami
 * @package    Test
 * @subpackage Event
 * @author     Marcelo Gornstein <[email protected]>
 * @license    http://marcelog.github.com/ Apache License 2.0
 * @version    SVN: $Id$
 * @link       http://marcelog.github.com/
 *
 * Copyright 2011 Marcelo Gornstein <[email protected]>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
namespace PAMI\Client\Impl {
/**
 * This class will test some events.
 *
 * PHP Version 5
 *
 * @category   Pami
 * @package    Test
 * @subpackage Event
 * @author     Marcelo Gornstein <[email protected]>
 * @license    http://marcelog.github.com/ Apache License 2.0
 * @link       http://marcelog.github.com/
 */
class Test_Events extends \PHPUnit_Framework_TestCase
{
    private $_properties = array();

    public function setUp()
    {
        $this->_properties = array();
    }
    /**
     * @test
     */
    public function can_report_events()
    {
        $eventNames = array(
            'AsyncAGI', 'AGIExec', 'VarSet', 'Unlink', 'vgsm_sms_rx', 'vgsm_net_state',
            'vgsm_me_state', 'DTMF', 'Bridge', 'VoicemailUserEntryComplete',
            'StatusComplete', 'ParkedCallsComplete', 'DBGetResponse',
            'VoicemailUserEntry', 'Transfer', 'Status', 'ShowDialPlanComplete',
            'Rename', 'RegistrationsComplete', 'RTPSenderStat', 'RTPReceiverStat',
            'RTCPSent', 'RTCPReceiverStat', 'RTCPReceived', 'QueueSummaryComplete',
            'QueueStatusComplete', 'DAHDIShowChannelsComplete', 'QueueSummary',
            'QueueParams', 'QueueMemberStatus', 'QueueMemberRemoved',
            'QueueMemberPaused', 'QueueMember', 'QueueMemberAdded', 'PeerlistComplete',
            'PeerStatus', 'PeerEntry', 'OriginateResponse', 'Newstate', 'Newexten',
            'Newchannel', 'NewCallerid', 'NewAccountCode', 'MusicOnHold',
            'MessageWaiting', 'Masquerade', 'ListDialplan', 'Leave', 'Join',
            'Hold', 'Hangup', 'ExtensionStatus', 'Dial', 'DAHDIShowChannels',
            'CoreShowChannelsComplete', 'CoreShowChannel', 'ChannelUpdate',
            'Agents', 'AgentsComplete', 'Agentlogoff', 'Agentlogin', 'AgentConnect',
            'DongleSMSStatus', 'FullyBooted', 'DongleShowDevicesComplete', 'DongleDeviceEntry',
            'DongleNewUSSDBase64', 'DongleNewUSSD', 'DongleUSSDStatus', 'DongleNewCUSD',
            'DongleStatus', 'CEL', 'JabberEvent', 'Registry', 'UserEvent',
            'ParkedCall', 'UnParkedCall', 'Link',
            'AGIExecStart',
            'AGIExecEnd',
            'AsyncAGIStart',
            'AsyncAGIExec',
            'AsyncAGIEnd',
            'QueueCallerJoin',
            'QueueCallerLeave',
            'AttendedTransfer',
            'BlindTransfer',
            'DialBegin',
            'DialEnd',
            'DTMFBegin',
            'DTMFEnd',
            'BridgeCreate',
            'BridgeDestroy',
            'BridgeEnter',
            'BridgeLeave',
            'MusicOnHoldStart',
            'MusicOnHoldStop',
            'ConfbridgeStart',
            'ConfbridgeEnd',
            'ConfbridgeJoin',
            'ConfbridgeLeave',
            'ConfbridgeMute',
            'ConfbridgeUnmute',
            'ConfbridgeTalking',
            'ConfbridgeList',
            'ConfbridgeListComplete',
            'BridgeInfoChannel',
            'BridgeInfoComplete',
        );
        $eventTranslatedValues = array(
            'QueueMemberStatus' => array(
                'Paused' => true
            ),
            'QueueMemberPaused' => array(
                'Paused' => true
            ),
            'QueueMember' => array(
                'Paused' => true
            ),
            'QueueMemberAdded' => array(
                'Paused' => true
            ),
        );
        $eventValues = array(
            'UserEvent' => array(
                'Privilege' => 'Privilege',
                'UniqueID' => 'UniqueID',
                'UserEvent' => 'UserEvent'
            ),
            'Registry' => array(
                'Channel' => 'Channel',
                'Domain' => 'Domain',
                'Status' => 'Status'
            ),
            'JabberEvent' => array(
                'Privilege' => 'Privilege',
                'Account' => 'Account',
                'Packet' => 'Packet'
            ),
            'AsyncAGI' => array(
                'Env' => 'Env',
                'Channel' => 'Channel',
                'CommandId' => 'CommandId',
                'Privilege' => 'Privilege',
                'SubEvent' => 'SubEvent',
                'Result' => 'Result'
            ),
            'FullyBooted' => array(),
            'DongleUSSDStatus' => array(
                'Privilege' => 'Privilege',
        		'Id' => 'Id',
        		'Device' => 'Device',
                'Status' => 'Status'
             ),
        	'DongleNewUSSDBase64' => array(
                'Device' => 'Device',
                'Message' => 'Message',
                'Privilege' => 'Privilege'
            ),
        	'DongleNewCUSD' => array(
                'Device' => 'Device',
                'Message' => 'Message',
                'Privilege' => 'Privilege'
            ),
            'DongleNewUSSD' => array(
                'Device' => 'Device',
                'LineCount' => 'LineCount',
                'Privilege' => 'Privilege'
            ),
            'DongleDeviceEntry' => array(
                'Device' => 'Device',
                'AudioSetting' => 'AudioSetting',
                'DataSetting' => 'DataSetting',
                'IMEISetting' => 'IMEISetting',
                'IMSISetting' => 'IMSISetting',
                'ChannelLanguage' => 'ChannelLanguage',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Group' => 'Group',
                'RXGain' => 'RXGain',
                'TXGain' => 'TXGain',
                'U2DIAG' => 'U2DIAG',
                'UseCallingPres' => 'UseCallingPres',
                'DefaultCallingPres' => 'DefaultCallingPres',
                'AutoDeleteSMS' => 'AutoDeleteSMS',
                'DisableSMS' => 'DisableSMS',
                'ResetDongle' => 'ResetDongle',
                'SMSPDU' => 'SMSPDU',
                'CallWaitingSetting' => 'CallWaitingSetting',
                'DTMF' => 'DTMF',
                'MinimalDTMFGap' => 'MinimalDTMFGap',
                'MinimalDTMFDuration' => 'MinimalDTMFDuration',
                'MinimalDTMFInterval' => 'MinimalDTMFInterval',
                'State' => 'State',
                'AudioState' => 'AudioState',
                'DataState' => 'DataState',
                'Voice' => 'Voice',
                'SMS' => 'SMS',
                'Manufacturer' => 'Manufacturer',
                'Model' => 'Model',
                'Firmware' => 'Firmware',
                'IMEIState' => 'IMEIState',
                'IMSIState' => 'IMSIState',
                'GSMRegistrationStatus' => 'GSMRegistrationStatus',
                'RSSI' => 'RSSI',
                'Mode' => 'Mode',
                'Submode' => 'Submode',
                'ProviderName' => 'ProviderName',
                'LocationAreaCode' => 'LocationAreaCode',
                'CellID' => 'CellID',
                'SubscriberNumber' => 'SubscriberNumber',
                'SMSServiceCenter' => 'SMSServiceCenter',
                'UseUCS2Encoding' => 'UseUCS2Encoding',
                'USSDUse7BitEncoding' => 'USSDUse7BitEncoding',
                'USSDUseUCS2Decoding' => 'USSDUseUCS2Decoding',
                'TasksInQueue' => 'TasksInQueue',
                'CommandsInQueue' => 'CommandsInQueue',
                'CallWaitingState' => 'CallWaitingState',
                'CurrentDeviceState' => 'CurrentDeviceState',
                'DesiredDeviceState' => 'DesiredDeviceState',
                'CallsChannels' => 'CallsChannels',
                'Active' => 'Active',
                'Held' => 'Held',
                'Dialing' => 'Dialing',
                'Alerting' => 'Alerting',
                'Incoming' => 'Incoming',
                'Waiting' => 'Waiting',
                'Releasing' => 'Releasing',
                'Initializing' => 'Initializing'
        	),
        	'DongleShowDevicesComplete' => array('ListItems' => 'items'),
            'DongleSMSStatus' => array(
                'Privilege' => 'Privilege',
        		'Id' => 'Id',
        		'Device' => 'Device',
                'Status' => 'Status'
            ),
            'DongleStatus' => array(
                'Privilege' => 'Privilege',
        		'Device' => 'Device',
                'Status' => 'Status'
            ),
            'AgentConnect' => array(
                'HoldTime' => 'HoldTime',
                'Privilege' => 'Privilege',
                'BridgedChannel' => 'BridgedChannel',
                'RingTime' => 'RingTime',
                'Member' => 'Member',
                'MemberName' => 'MemberName',
                'UniqueID' => 'UniqueID',
                'Channel' => 'Channel',
                'Queue' => 'Queue'
            ),
            'Agentlogoff' => array(
                'Logintime' => 'Logintime',
                'UniqueID' => 'UniqueID',
                'Agent' => 'Agent',
                'Privilege' => 'Privilege',
            ),
            'Agentlogin' => array(
                'UniqueID' => 'UniqueID',
                'Agent' => 'Agent',
                'Privilege' => 'Privilege',
                'Channel' => 'Channel',
            ),
            'AgentsComplete' => array(),
            'Agents' => array(
                'TalkingToChannel' => 'TalkingToChannel',
                'TalkingTo' => 'TalkingTo',
                'LoggedInTime' => 'LoggedInTime',
                'LoggedInChan' => 'LoggedInChan',
                'Name' => 'Name',
                'Status' => 'Status',
                'Agent' => 'Agent'
            ),
            'ChannelUpdate' => array(
                'Privilege' => 'Privilege',
                'Channel' => 'Channel',
                'ChannelType' => 'ChannelType',
        		'UniqueID' => 'UniqueID',
                'SIPfullcontact' => 'SIPfullcontact',
                'SIPcallid' => 'SIPcallid'
            ),
            'CoreShowChannel' => array(
        		'UniqueID' => 'UniqueID',
                'Privilege' => 'Privilege',
                'Channel' => 'Channel',
                'AccountCode' => 'AccountCode',
                'Priority' => 'Priority',
                'Extension' => 'Extension',
                'Context' => 'Context',
                'CallerIDNum' => 'CallerIDNum',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'ChannelState' => 'ChannelState',
                'ApplicationData' => 'ApplicationData',
                'Application' => 'Application',
                'BridgedUniqueID' => 'BridgedUniqueID',
                'BridgedChannel' => 'BridgedChannel',
                'Duration' => 'Duration',
            ),
            'DAHDIShowChannels' => array(
                'Channel' => 'Channel',
                'Context' => 'Context',
                'Alarm' => 'Alarm',
                'DND' => 'DND',
                'SignallingCode' => 'SignallingCode',
                'Signalling' => 'Signalling'
            ),
            'Dial' => array(
                'Privilege' => 'Privilege',
                'Destination' => 'Destination',
                'SubEvent' => 'SubEvent',
        		'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
                'Channel' => 'Channel',
        		'DialStatus' => 'DialStatus',
                'DialString' => 'DialString',
        		'UniqueID' => 'UniqueID',
        		'DestUniqueID' => 'DestUniqueID',
            ),
            'ExtensionStatus' => array(
                'Privilege' => 'Privilege',
                'Status' => 'Status',
                'Exten' => 'Extension',
                'Hint' => 'Hint',
        		'Context' => 'Context',
            ),
            'Hangup' => array(
                'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
        		'UniqueID' => 'UniqueID',
                'Cause' => 'Cause',
                'cause-txt' => 'cause-txt'
            ),
            'Hold' => array(
                'Privilege' => 'Privilege',
        		'UniqueID' => 'UniqueID',
                'Status' => 'Status',
                'Channel' => 'Channel',
            ),
        	'Join' => array(
                'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
        		'UniqueID' => 'UniqueID',
                'Position' => 'Position',
                'Queue' => 'Queue',
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
                'Count' => 'Count',
            ),
            'Leave' => array(
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
        		'UniqueID' => 'UniqueID',
                'Count' => 'Count',
                'Queue' => 'Queue'
            ),
        	'ListDialplan' => array(
                'AppData' => 'AppData',
                'Application' => 'Application',
                'Priority' => 'Priority',
                'Extension' => 'Extension',
                'Context' => 'Context',
                'Registrar' => 'Registrar',
                'IncludeContext' => 'IncludeContext'
            ),
            'Masquerade' => array(
                'OriginalState' => 'OriginalState',
                'Original' => 'Original',
                'CloneState' => 'CloneState',
                'Clone' => 'Clone',
                'Privilege' => 'Privilege',
            ),
            'MessageWaiting' => array(
        		'Privilege' => 'Privilege',
        		'Waiting' => 'Waiting',
        		'Mailbox' => 'Mailbox',
            ),
            'MusicOnHold' => array(
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
        		'UniqueID' => 'UniqueID',
        		'State' => 'State',
            ),
            'NewAccountCode' => array(
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
        		'UniqueID' => 'UniqueID',
                'AccountCode' => 'AccountCode',
                'OldAccountCode' => 'OldAccountCode',
            ),
            'NewCallerid' => array(
        		'UniqueID' => 'UniqueID',
                'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
                'CID-CallingPres' => 'CID-CallingPres'
            ),
            'Newchannel' => array(
        		'UniqueID' => 'UniqueID',
                'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'ChannelState' => 'ChannelState',
                'AccountCode' => 'AccountCode',
                'Channel' => 'Channel',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Privilege' => 'Privilege'
            ),
        	'Newexten' => array(
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
                'AppData' => 'AppData',
                'Application' => 'Application',
                'Priority' => 'Priority',
                'Extension' => 'Extension',
                'Exten' => 'Exten',
                'Context' => 'Context',
        		'UniqueID' => 'UniqueID',
            ),
        	'Newstate' => array(
                'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
                'UniqueID' => 'UniqueID',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'ChannelState' => 'ChannelState',
                'Channel' => 'Channel',
                'Privilege' => 'Privilege',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName'
            ),
            'OriginateResponse' => array(
                'CallerIdName' => 'CallerIdName',
                'CallerIdNum' => 'CallerIdNum',
                'Response' => 'Response',
                'ActionID' => 'ActionID',
                'UniqueID' => 'UniqueID',
                'Reason' => 'Reason',
                'Channel' => 'Channel',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Privilege' => 'Privilege'
            ),
            'PeerEntry' => array(
                'RealtimeDevice' => 'RealtimeDevice',
                'Status' => 'Status',
                'ACL' => 'ACL',
                'TextSupport' => 'TextSupport',
                'VideoSupport' => 'VideoSupport',
                'NatSupport' => 'NatSupport',
                'Dynamic' => 'Dynamic',
                'IPPort' => 'IPPort',
                'IPAddress' => 'IPAddress',
                'ChanObjectType' => 'ChanObjectType',
                'ObjectName' => 'ObjectName',
                'ChannelType' => 'ChannelType',
            ),
        	'PeerStatus' => array(
                'Privilege' => 'Privilege',
                'ChannelType' => 'ChannelType',
                'Peer' => 'Peer',
                'PeerStatus' => 'PeerStatus'
            ),
            'QueueMemberRemoved' => array(
                'MemberName' => 'MemberName',
                'Location' => 'Location',
                'Queue' => 'Queue',
                'Privilege' => 'Privilege'
            ),
            'QueueMemberPaused' => array(
                'MemberName' => 'MemberName',
                'Location' => 'Location',
                'Queue' => 'Queue',
                'Privilege' => 'Privilege',
            	'Paused' => 1,
            ),
            'QueueMember' => array(
                'Name' => 'Name',
                'Location' => 'Location',
                'Queue' => 'Queue',
            	'Paused' => 1,
                'Status' => 'Status',
                'CallsTaken' => 'CallsTaken',
                'Penalty' => 'Penalty',
            	'Membership' => 'Membership',
            ),
            'QueueMemberAdded' => array(
                'MemberName' => 'MemberName',
                'LastCall' => 'LastCall',
                'Location' => 'Location',
                'Queue' => 'Queue',
            	'Paused' => 1,
                'Status' => 'Status',
                'CallsTaken' => 'CallsTaken',
                'Penalty' => 'Penalty',
            	'Membership' => 'Membership',
                'Privilege' => 'Privilege'
            ),
            'QueueMemberStatus' => array(
                'Paused' => 1,
                'Status' => 'Status',
                'CallsTaken' => 'CallsTaken',
                'Penalty' => 'Penalty',
                'Membership' => 'Membership',
                'MemberName' => 'MemberName',
                'Location' => 'Location',
                'Queue' => 'Queue',
                'Privilege' => 'Privilege'
            ),
        	'QueueParams' => array(
                'Completed' => '4',
        		'HoldTime' => '5',
                'Calls' => '6',
                'Strategy' => 'Strategy',
                'Max' => '6',
                'Queue' => 'Queue',
                'Weight' => '2',
                'ServiceLevelPerf' => 'ServiceLevelPerf',
                'ServiceLevel' => '1',
                'Abandoned' => '3'
            ),
            'QueueSummaryComplete' => array(),
        	'QueueSummary' => array(
                'LongestHoldTime' => 'LongestHoldTime',
                'HoldTime' => 'HoldTime',
                'Callers' => 'Callers',
                'Available' => 'Available',
                'LoggedIn' => 'LoggedIn',
                'Queue' => 'Queue',
            ),
            'QueueStatusComplete' => array(),
        	'DAHDIShowChannelsComplete' => array('items' => 'ListItems'),
        	'PeerlistComplete' => array('ListItems' => 'ListItems'),
            'CoreShowChannelsComplete' => array('ListItems' => 'ListItems'),
            'RTCPReceived' => array(
                'DLSR' => 'DLSR',
                'RTT' => 'RTT',
                'LastSR' => 'LastSR',
                'IAJitter' => 'IAJitter',
                'SequenceNumberCycles' => 'SequenceNumberCycles',
                'HighestSequence' => 'HighestSequence',
                'PacketsLost' => 'PacketsLost',
                'FractionLost' => 'FractionLost',
                'SenderSSRC' => 'SenderSSRC',
                'ReceptionReports' => 'ReceptionReports',
                'PT' => 'PT',
                'Privilege' => 'Privilege',
                'From' => 'From',
            ),
            'RTCPReceiverStat' => array(
                'RRCount' => 'RRCount',
                'Jitter' => 'Jitter',
                'LostPackets' => 'LostPackets',
                'ReceivedPackets' => 'ReceivedPackets',
                'SSRC' => 'SSRC',
                'Privilege' => 'Privilege',
                'Transit' => 'Transit'
            ),
            'RTCPSent' => array(
                'DLSR' => 'DLSR',
                'TheirLastSR' => 'TheirLastSR',
                'IAJitter' => 'IAJitter',
                'CumulativeLoss' => 'CumulativeLoss',
                'FractionLost' => 'FractionLost',
                'ReportBlock' => 'ReportBlock',
                'SentOctets' => 'SentOctets',
                'SentPackets' => 'SentPackets',
                'SentRTP' => 'SentRTP',
                'SentNTP' => 'SentNTP',
                'OurSSRC' => 'OurSSRC',
                'To' => 'To',
                'Privilege' => 'Privilege'
            ),
            'RTPSenderStat' => array(
                'SRCount' => 'SRCount',
                'RTT' => 'RTT',
                'Jitter' => 'Jitter',
                'LostPackets' => 'LostPackets',
                'SentPackets' => 'SentPackets',
                'SSRC' => 'SSRC',
                'Privilege' => 'Privilege'
            ),
            'RTPReceiverStat' => array(
                'RRCount' => 'RRCount',
                'Jitter' => 'Jitter',
                'LostPackets' => 'LostPackets',
                'ReceivedPackets' => 'ReceivedPackets',
                'SSRC' => 'SSRC',
                'Privilege' => 'Privilege',
                'Transit' => 'Transit'
            ),
            'Rename' => array(
                'UniqueID' => 'UniqueID',
                'Oldname' => 'Oldname',
                'Newname' => 'Newname',
                'Channel' => 'Channel',
                'Privilege' => 'Privilege'
            ),
            'ShowDialPlanComplete' => array(
                'listcontexts' => 'listcontexts',
                'listpriorities' => 'listpriorities',
                'listextensions' => 'listextensions',
                'listitems' => 'listitems',
                'privilege' => 'privilege'
            ),
            'Status' => array(
                'BridgedUniqueID' => 'BridgedUniqueID',
                'BridgedChannel' => 'BridgedChannel',
                'Seconds' => 'Seconds',
                'AccountCode' => 'AccountCode',
                'Duration' => 'Duration',
                'CallerIDNum' => 'CallerIDNum',
                'ApplicationData' => 'ApplicationData',
                'Application' => 'Application',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'ChannelState' => 'ChannelState',
                'Priority' => 'Priority',
                'Extension' => 'Extension',
                'Context' => 'Context',
                'UniqueID' => 'UniqueID',
        		'Privilege' => 'Privilege',
                'Channel' => 'Channel'
            ),
            'Transfer' => array(
                'TransferContext' => 'TransferContext',
                'TransferExten' => 'TransferExten',
                'TargetUniqueid' => 'TargetUniqueid',
                'UniqueID' => 'UniqueID',
                'SIP-Callid' => 'SIP-Callid',
                'TargetChannel' => 'TargetChannel',
                'Channel' => 'Channel',
                'TransferType' => 'TransferType',
                'TransferMethod' => 'TransferMethod',
                'Privilege' => 'Privilege'
            ),
            'VoicemailUserEntryComplete' => array(),
            'VoicemailUserEntry' => array(
                'VmContext' => 'VmContext',
                'VoicemailBox' => 'VoicemailBox',
                'Fullname' => 'Fullname',
                'Email' => 'Email',
                'Pager' => 'Pager',
                'ServerEmail' => 'ServerEmail',
                'MailCommand' => 'MailCommand',
                'Language' => 'Language',
                'Timezone' => 'Timezone',
                'Callback' => 'Callback',
                'DialOut' => 'DialOut',
                'UniqueID' => 'UniqueID',
                'ExitContext' => 'ExitContext',
                'SayDurationMin' => 'SayDurationMin',
                'SayEnvelope' => 'SayEnvelope',
                'SayCID' => 'SayCID',
                'AttachMessage' => 'AttachMessage',
                'AttachmentFormat' => 'AttachmentFormat',
                'DeleteMessage' => 'DeleteMessage',
                'VolumeGain' => 'VolumeGain',
                'CanReview' => 'CanReview',
                'CallOperator' => 'CallOperator',
                'MaxMessageCount' => 'MaxMessageCount',
                'MaxMessageLength' => 'MaxMessageLength',
                'NewMessageCount' => 'NewMessageCount'
            ),
            'DBGetResponse' => array(
                'Family' => 'Family',
                'Key' => 'Key',
                'Val' => 'Val'
            ),
        	'ParkedCallsComplete' => array(),
        	'StatusComplete' => array('Items' => 'Items'),
            'RegistrationsComplete' => array('ListItems' => 'ListItems'),
            'DTMF' => array(
            	'Privilege' => 'Privilege',
        		'UniqueID' => 'UniqueID',
                'Channel' => 'Channel',
                'Direction' => 'Direction',
                'End' => 'End',
                'Begin' => 'Begin',
                'Digit' => 'Digit'
        	),
            'AGIExec' => array(
            	'Privilege' => 'Privilege',
            	'CommandId' => 'CommandId',
                'SubEvent' => 'SubEvent',
                'Channel' => 'Channel',
                'Command' => 'Command',
                'Result' => 'Result',
                'ResultCode' => 'ResultCode'
        	),
            'VarSet' => array(
            	'Privilege' => 'Privilege',
                'Channel' => 'Channel',
                'Variable' => 'Variable',
                'Value' => 'Value',
        	    'UniqueID' => 'UniqueID'
        	),
        	'Unlink' => array(
        		'Privilege' => 'Privilege',
        	    'CallerID1' => 'CallerID1',
        	    'CallerID2' => 'CallerID2',
        	    'UniqueID1' => 'UniqueID1',
        		'UniqueID2' => 'UniqueID2',
        	    'Channel1' => 'Channel1',
        		'Channel2' => 'Channel2',
        	),
        	'Bridge' => array(
        		'Privilege' => 'Privilege',
        	    'CallerID1' => 'CallerID1',
        	    'CallerID2' => 'CallerID2',
        	    'UniqueID1' => 'UniqueID1',
        		'UniqueID2' => 'UniqueID2',
        	    'Channel1' => 'Channel1',
        		'Channel2' => 'Channel2',
        	    'BridgeState' => 'BridgeStart',
        	    'BridgeType' => 'BridgeType'
        	),
        	'vgsm_sms_rx' => array(
        		'Privilege' => 'Privilege',
        		'X-SMS-Status-Report-Indication' => 'X-SMS-Status-Report-Indication',
        	    'X-SMS-User-Data-Header-Indicator' => 'X-SMS-User-Data-Header-Indicator',
        	    'X-SMS-Reply-Path' => 'X-SMS-Reply-Path',
        	    'X-SMS-More-Messages-To-Send' => 'X-SMS-More-Messages-To-Send',
        	    'X-SMS-SMCC-Number' => 'X-SMS-SMCC-Number',
        	    'X-SMS-SMCC-TON' => 'X-SMS-SMCC-TON',
        	    'X-SMS-SMCC-NP' => 'X-SMS-SMCC-NP',
        	    'X-SMS-Sender-Number' => 'X-SMS-Sender-Number',
        	    'X-SMS-Sender-TON' => 'X-SMS-Sender-TON',
        	    'X-SMS-Sender-NP' => 'X-SMS-Sender-NP',
        	    'X-SMS-Message-Type' => 'X-SMS-Message-Type',
        	    'Content' => 'Content',
        	    'Date' => 'Date',
        	    'Content-Transfer-Encoding' => 'ContentEncoding',
        		'Content-Type' => 'ContentType',
        	    'MIME-Version' => 'MIME-Version',
        	    'Subject' => 'Subject',
        	    'From' => 'From',
        	    'Received' => 'Received'
        	),
        	'vgsm_net_state' => array(
        		'Privilege' => 'Privilege',
        		'X-vGSM-GSM-Registration' => 'X-vGSM-GSM-Registration',
        	),
        	'vgsm_me_state' => array(
        		'Privilege' => 'Privilege',
        	    'X-vGSM-ME-State-Change-Reason' => 'X-vGSM-ME-State-Change-Reason',
        	    'X-vGSM-ME-Old-State' => 'X-vGSM-ME-Old-State',
        	    'X-vGSM-ME-State' => 'X-vGSM-ME-State',
            ),
            'CEL' => array(
                'AMAFlags' => 'AMAFlags',
                'AccountCode' => 'AccountCode',
                'AppData' => 'AppData',
                'Application' => 'Application',
                'CallerIDani' => 'CallerIDani',
                'CallerIDdnid' => 'CallerIDdnid',
                'CallerIDname' => 'CallerIDname',
                'CallerIDnum' => 'CallerIDnum',
                'CallerIDrdnis' => 'CallerIDrdnis',
                'Channel' => 'Channel',
                'Context' => 'Context',
                'Event' => 'Event',
                'EventName' => 'EventName',
                'EventTime' => 'EventTime',
                'Exten' => 'Exten',
                'Extra' => 'Extra',
                'LinkedID' => 'LinkedID',
                'Peer' => 'Peer',
                'PeerAccount' => 'PeerAccount',
                'Privilege' => 'Privilege',
                'Timestamp' => 'Timestamp',
                'UniqueID' => 'UniqueID',
                'Userfield' => 'Userfield',
            ),
            'ParkedCall' => array(
                'Privilege' => 'Privilege',
                'Parkinglot' => 'Parkinglot',
                'From' => 'From',
                'Timeout' => 'ParkingTimeout',
                'ConnectedLineNum' => 'ParkeeConnectedLineNum',
                'ConnectedLineName' => 'ParkeeConnectedLineName',
                'Channel' => 'ParkeeChannel',
                'CallerIDNum' => 'ParkeeCallerIDNum',
                'CallerIDName' => 'ParkeeCallerIDName',
                'UniqueID' => 'ParkeeUniqueid',
                'Exten' => 'ParkingSpace',
                'ParkeeChannel' => 'ParkeeChannel',
                'ParkeeChannelState' => 'ParkeeChannelState',
                'ParkeeChannelStateDesc' => 'ParkeeChannelStateDesc',
                'ParkeeCallerIDNum' => 'ParkeeCallerIDNum',
                'ParkeeCallerIDName' => 'ParkeeCallerIDName',
                'ParkeeConnectedLineNum' => 'ParkeeConnectedLineNum',
                'ParkeeConnectedLineName' => 'ParkeeConnectedLineName',
                'ParkeeAccountCode' => 'ParkeeAccountCode',
                'ParkeeContext' => 'ParkeeContext',
                'ParkeeExten' => 'ParkeeExten',
                'ParkeePriority' => 'ParkeePriority',
                'ParkeeUniqueid' => 'ParkeeUniqueid',
                'ParkerDialString' => 'ParkerDialString',
                'ParkingSpace' => 'ParkingSpace',
                'ParkingTimeout' => 'ParkingTimeout',
                'ParkingDuration' => 'ParkingDuration',
            ),
            'UnParkedCall' => array(
                'Privilege' => 'Privilege',
                'Parkinglot' => 'Parkinglot',
                'From' => 'RetrieverChannel',
                'ConnectedLineNum' => 'ParkeeConnectedLineNum',
                'ConnectedLineName' => 'ParkeeConnectedLineName',
                'Channel' => 'ParkeeChannel',
                'CallerIDNum' => 'ParkeeCallerIDNum',
                'CallerIDName' => 'ParkeeCallerIDName',
                'UniqueID' => 'ParkeeUniqueid',
                'Exten' => 'ParkingSpace',
                'ParkeeChannel' => 'ParkeeChannel',
                'ParkeeChannelState' => 'ParkeeChannelState',
                'ParkeeChannelStateDesc' => 'ParkeeChannelStateDesc',
                'ParkeeCallerIDNum' => 'ParkeeCallerIDNum',
                'ParkeeCallerIDName' => 'ParkeeCallerIDName',
                'ParkeeConnectedLineNum' => 'ParkeeConnectedLineNum',
                'ParkeeConnectedLineName' => 'ParkeeConnectedLineName',
                'ParkeeAccountCode' => 'ParkeeAccountCode',
                'ParkeeContext' => 'ParkeeContext',
                'ParkeeExten' => 'ParkeeExten',
                'ParkeePriority' => 'ParkeePriority',
                'ParkeeUniqueid' => 'ParkeeUniqueid',
                'ParkerDialString' => 'ParkerDialString',
                'ParkingSpace' => 'ParkingSpace',
                'ParkingTimeout' => 'ParkingTimeout',
                'ParkingDuration' => 'ParkingDuration',
                'ParkerChannel' => 'ParkerChannel',
                'ParkerChannelState' => 'ParkerChannelState',
                'ParkerChannelStateDesc' => 'ParkerChannelStateDesc',
                'ParkerCallerIDNum' => 'ParkerCallerIDNum',
                'ParkerCallerIDName' => 'ParkerCallerIDName',
                'ParkerConnectedLineNum' => 'ParkerConnectedLineNum',
                'ParkerConnectedLineName' => 'ParkerConnectedLineName',
                'ParkerAccountCode' => 'ParkerAccountCode',
                'ParkerContext' => 'ParkerContext',
                'ParkerExten' => 'ParkerExten',
                'ParkerPriority' => 'ParkerPriority',
                'ParkerUniqueid' => 'ParkerUniqueid',
                'RetrieverChannel' => 'RetrieverChannel',
                'RetrieverChannelState' => 'RetrieverChannelState',
                'RetrieverChannelStateDesc' => 'RetrieverChannelStateDesc',
                'RetrieverCallerIDNum' => 'RetrieverCallerIDNum',
                'RetrieverCallerIDName' => 'RetrieverCallerIDName',
                'RetrieverConnectedLineNum' => 'RetrieverConnectedLineNum',
                'RetrieverConnectedLineName' => 'RetrieverConnectedLineName',
                'RetrieverAccountCode' => 'RetrieverAccountCode',
                'RetrieverContext' => 'RetrieverContext',
                'RetrieverExten' => 'RetrieverExten',
                'RetrieverPriority' => 'RetrieverPriority',
                'RetrieverUniqueid' => 'RetrieverUniqueid',
            ),
            'Link' => array(
                'Privilege' => 'Privilege',
                'CallerID1' => 'CallerID1',
                'CallerID2' => 'CallerID2',
                'UniqueID1' => 'UniqueID1',
                'UniqueID2' => 'UniqueID2',
                'Channel1' => 'Channel1',
                'Channel2' => 'Channel2'
            ),
            'AGIExecStart' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Command' => 'Command',
                'CommandId' => 'CommandId',
            ),
            'AGIExecEnd' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Command' => 'Command',
                'CommandId' => 'CommandId',
                'ResultCode' => 'ResultCode',
                'Result' => 'Result',
            ),
            'AsyncAGIStart' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Env' => 'Env',
            ),
            'AsyncAGIExec' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'CommandID' => 'CommandID',
                'Result' => 'Result',
            ),
            'AsyncAGIEnd' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
            ),
            'QueueCallerJoin' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Queue' => 'Queue',
                'Position' => 'Position',
                'Count' => 'Count',
            ),
            'QueueCallerLeave' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Queue' => 'Queue',
                'Count' => 'Count',
                'Position' => 'Position',
            ),
            'AttendedTransfer' => array(
                'Result' => 'Result',
                'OrigTransfererChannel' => 'OrigTransfererChannel',
                'OrigTransfererChannelState' => 'OrigTransfererChannelState',
                'OrigTransfererChannelStateDesc' => 'OrigTransfererChannelStateDesc',
                'OrigTransfererCallerIDNum' => 'OrigTransfererCallerIDNum',
                'OrigTransfererCallerIDName' => 'OrigTransfererCallerIDName',
                'OrigTransfererConnectedLineNum' => 'OrigTransfererConnectedLineNum',
                'OrigTransfererConnectedLineName' => 'OrigTransfererConnectedLineName',
                'OrigTransfererAccountCode' => 'OrigTransfererAccountCode',
                'OrigTransfererContext' => 'OrigTransfererContext',
                'OrigTransfererExten' => 'OrigTransfererExten',
                'OrigTransfererPriority' => 'OrigTransfererPriority',
                'OrigTransfererUniqueid' => 'OrigTransfererUniqueid',
                'OrigBridgeUniqueid' => 'OrigBridgeUniqueid',
                'OrigBridgeType' => 'OrigBridgeType',
                'OrigBridgeTechnology' => 'OrigBridgeTechnology',
                'OrigBridgeCreator' => 'OrigBridgeCreator',
                'OrigBridgeName' => 'OrigBridgeName',
                'OrigBridgeNumChannels' => 'OrigBridgeNumChannels',
                'SecondTransfererChannel' => 'SecondTransfererChannel',
                'SecondTransfererChannelState' => 'SecondTransfererChannelState',
                'SecondTransfererChannelStateDesc' => 'SecondTransfererChannelStateDesc',
                'SecondTransfererCallerIDNum' => 'SecondTransfererCallerIDNum',
                'SecondTransfererCallerIDName' => 'SecondTransfererCallerIDName',
                'SecondTransfererConnectedLineNum' => 'SecondTransfererConnectedLineNum',
                'SecondTransfererConnectedLineName' => 'SecondTransfererConnectedLineName',
                'SecondTransfererAccountCode' => 'SecondTransfererAccountCode',
                'SecondTransfererContext' => 'SecondTransfererContext',
                'SecondTransfererExten' => 'SecondTransfererExten',
                'SecondTransfererPriority' => 'SecondTransfererPriority',
                'SecondTransfererUniqueid' => 'SecondTransfererUniqueid',
                'SecondBridgeUniqueid' => 'SecondBridgeUniqueid',
                'SecondBridgeType' => 'SecondBridgeType',
                'SecondBridgeTechnology' => 'SecondBridgeTechnology',
                'SecondBridgeCreator' => 'SecondBridgeCreator',
                'SecondBridgeName' => 'SecondBridgeName',
                'SecondBridgeNumChannels' => 'SecondBridgeNumChannels',
                'DestType' => 'DestType',
                'DestBridgeUniqueid' => 'DestBridgeUniqueid',
                'DestApp' => 'DestApp',
                'LocalOneChannel' => 'LocalOneChannel',
                'LocalOneChannelState' => 'LocalOneChannelState',
                'LocalOneChannelStateDesc' => 'LocalOneChannelStateDesc',
                'LocalOneCallerIDNum' => 'LocalOneCallerIDNum',
                'LocalOneCallerIDName' => 'LocalOneCallerIDName',
                'LocalOneConnectedLineNum' => 'LocalOneConnectedLineNum',
                'LocalOneConnectedLineName' => 'LocalOneConnectedLineName',
                'LocalOneAccountCode' => 'LocalOneAccountCode',
                'LocalOneContext' => 'LocalOneContext',
                'LocalOneExten' => 'LocalOneExten',
                'LocalOnePriority' => 'LocalOnePriority',
                'LocalOneUniqueid' => 'LocalOneUniqueid',
                'LocalTwoChannel' => 'LocalTwoChannel',
                'LocalTwoChannelState' => 'LocalTwoChannelState',
                'LocalTwoChannelStateDesc' => 'LocalTwoChannelStateDesc',
                'LocalTwoCallerIDNum' => 'LocalTwoCallerIDNum',
                'LocalTwoCallerIDName' => 'LocalTwoCallerIDName',
                'LocalTwoConnectedLineNum' => 'LocalTwoConnectedLineNum',
                'LocalTwoConnectedLineName' => 'LocalTwoConnectedLineName',
                'LocalTwoAccountCode' => 'LocalTwoAccountCode',
                'LocalTwoContext' => 'LocalTwoContext',
                'LocalTwoExten' => 'LocalTwoExten',
                'LocalTwoPriority' => 'LocalTwoPriority',
                'LocalTwoUniqueid' => 'LocalTwoUniqueid',
                'DestTransfererChannel' => 'DestTransfererChannel',
                'TransfereeChannel' => 'TransfereeChannel',
                'TransfereeChannelState' => 'TransfereeChannelState',
                'TransfereeChannelStateDesc' => 'TransfereeChannelStateDesc',
                'TransfereeCallerIDNum' => 'TransfereeCallerIDNum',
                'TransfereeCallerIDName' => 'TransfereeCallerIDName',
                'TransfereeConnectedLineNum' => 'TransfereeConnectedLineNum',
                'TransfereeConnectedLineName' => 'TransfereeConnectedLineName',
                'TransfereeAccountCode' => 'TransfereeAccountCode',
                'TransfereeContext' => 'TransfereeContext',
                'TransfereeExten' => 'TransfereeExten',
                'TransfereePriority' => 'TransfereePriority',
                'TransfereeUniqueid' => 'TransfereeUniqueid',
            ),
            'BlindTransfer' => array(
                'Result' => 'Result',
                'TransfererChannel' => 'TransfererChannel',
                'TransfererChannelState' => 'TransfererChannelState',
                'TransfererChannelStateDesc' => 'TransfererChannelStateDesc',
                'TransfererCallerIDNum' => 'TransfererCallerIDNum',
                'TransfererCallerIDName' => 'TransfererCallerIDName',
                'TransfererConnectedLineNum' => 'TransfererConnectedLineNum',
                'TransfererConnectedLineName' => 'TransfererConnectedLineName',
                'TransfererAccountCode' => 'TransfererAccountCode',
                'TransfererContext' => 'TransfererContext',
                'TransfererExten' => 'TransfererExten',
                'TransfererPriority' => 'TransfererPriority',
                'TransfererUniqueid' => 'TransfererUniqueid',
                'TransfereeChannel' => 'TransfereeChannel',
                'TransfereeChannelState' => 'TransfereeChannelState',
                'TransfereeChannelStateDesc' => 'TransfereeChannelStateDesc',
                'TransfereeCallerIDNum' => 'TransfereeCallerIDNum',
                'TransfereeCallerIDName' => 'TransfereeCallerIDName',
                'TransfereeConnectedLineNum' => 'TransfereeConnectedLineNum',
                'TransfereeConnectedLineName' => 'TransfereeConnectedLineName',
                'TransfereeAccountCode' => 'TransfereeAccountCode',
                'TransfereeContext' => 'TransfereeContext',
                'TransfereeExten' => 'TransfereeExten',
                'TransfereePriority' => 'TransfereePriority',
                'TransfereeUniqueid' => 'TransfereeUniqueid',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'IsExternal' => 'IsExternal',
                'Context' => 'Context',
                'Extension' => 'Extension',
            ),
            'DialBegin' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'DestChannel' => 'DestChannel',
                'DestChannelState' => 'DestChannelState',
                'DestChannelStateDesc' => 'DestChannelStateDesc',
                'DestCallerIDNum' => 'DestCallerIDNum',
                'DestCallerIDName' => 'DestCallerIDName',
                'DestConnectedLineNum' => 'DestConnectedLineNum',
                'DestConnectedLineName' => 'DestConnectedLineName',
                'DestAccountCode' => 'DestAccountCode',
                'DestContext' => 'DestContext',
                'DestExten' => 'DestExten',
                'DestPriority' => 'DestPriority',
                'DestUniqueid' => 'DestUniqueid',
                'DialString' => 'DialString',
            ),
            'DialEnd' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'DestChannel' => 'DestChannel',
                'DestChannelState' => 'DestChannelState',
                'DestChannelStateDesc' => 'DestChannelStateDesc',
                'DestCallerIDNum' => 'DestCallerIDNum',
                'DestCallerIDName' => 'DestCallerIDName',
                'DestConnectedLineNum' => 'DestConnectedLineNum',
                'DestConnectedLineName' => 'DestConnectedLineName',
                'DestAccountCode' => 'DestAccountCode',
                'DestContext' => 'DestContext',
                'DestExten' => 'DestExten',
                'DestPriority' => 'DestPriority',
                'DestUniqueid' => 'DestUniqueid',
                'DialStatus' => 'DialStatus',
            ),
            'DTMFBegin' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Digit' => 'Digit',
                'Direction' => 'Direction',
            ),
            'DTMFEnd' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Digit' => 'Digit',
                'DurationMs' => 'DurationMs',
                'Direction' => 'Direction',
            ),
            'BridgeCreate' => array(
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
            ),
            'BridgeDestroy' => array(
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
            ),
            'BridgeEnter' => array(
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'SwapUniqueid' => 'SwapUniqueid',
            ),
            'BridgeLeave' => array(
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
            ),
            'MusicOnHoldStart' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Class' => 'Class',
            ),
            'MusicOnHoldStop' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
            ),
            'ConfbridgeStart' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
            ),
            'ConfbridgeEnd' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
            ),
            'ConfbridgeJoin' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Linkedid' => 'Linkedid',
                'Admin' => 'Admin',
            ),
            'ConfbridgeLeave' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Linkedid' => 'Linkedid',
                'Admin' => 'Admin',
            ),
            'ConfbridgeMute' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Linkedid' => 'Linkedid',
                'Admin' => 'Admin',
            ),
            'ConfbridgeUnmute' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Linkedid' => 'Linkedid',
                'Admin' => 'Admin',
            ),
            'ConfbridgeTalking' => array(
                'Conference' => 'Conference',
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Linkedid' => 'Linkedid',
                'TalkingStatus' => 'TalkingStatus',
                'Admin' => 'Admin',
            ),
            'ConfbridgeList' => array(
                'Conference' => 'Conference',
                'Channel' => 'Channel',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'MarkedUser' => 'MarkedUser',
                'WaitMarked' => 'WaitMarked',
                'EndMarked' => 'EndMarked',
                'Waiting' => 'Waiting',
                'Muted' => 'Muted',
                'AnsweredTime' => 'AnsweredTime',
                'Admin' => 'Admin',
            ),
            'ConfbridgeListComplete' => array('ListItems' => 'ListItems'),
            'BridgeInfoChannel' => array(
                'Channel' => 'Channel',
                'ChannelState' => 'ChannelState',
                'ChannelStateDesc' => 'ChannelStateDesc',
                'CallerIDNum' => 'CallerIDNum',
                'CallerIDName' => 'CallerIDName',
                'ConnectedLineNum' => 'ConnectedLineNum',
                'ConnectedLineName' => 'ConnectedLineName',
                'AccountCode' => 'AccountCode',
                'Context' => 'Context',
                'Exten' => 'Exten',
                'Priority' => 'Priority',
                'Uniqueid' => 'Uniqueid',
                'Linkedid' => 'Linkedid',
            ),
            'BridgeInfoComplete' => array(
                'BridgeUniqueid' => 'BridgeUniqueid',
                'BridgeType' => 'BridgeType',
                'BridgeTechnology' => 'BridgeTechnology',
                'BridgeCreator' => 'BridgeCreator',
                'BridgeName' => 'BridgeName',
                'BridgeNumChannels' => 'BridgeNumChannels',
                'BridgeVideoSourceMode' => 'BridgeVideoSourceMode',
                'BridgeVideoSource' => 'BridgeVideoSource',
            ),
        );
        $eventGetters = array(
            'UserEvent' => array(
                'UserEvent' => 'UserEventName'
            ),
            'AsyncAGI' => array(
                'Env' => 'Environment'
            ),
            'Agents' => array(
                'LoggedInChan' => 'Channel'
            ),
        	'ExtensionStatus' => array(
                'Exten' => 'Extension'
            ),
            'Hangup' => array(
                'cause-txt' => 'CauseText'
             ),
        	'ListDialplan' => array(
                'AppData' => 'ApplicationData',
            ),
            'NewCallerid' => array(
                'CID-CallingPres' => 'CallerIdPres'
            ),
            'Newchannel' => array('Exten' => 'Extension'),
        	'Newexten' => array(
                'AppData' => 'ApplicationData',
            ),
            'QueueMemberStatus' => array(
                'Paused' => 'Pause'
            ),
            'QueueMember' => array(
                'Name' => 'MemberName'
            ),
        	'AGIExec' => array(),
            'Transfer' => array(
                'SIP-Callid' => 'SipCallID',
            ),
            'VoicemailUserEntry' => array(
                'VmContext' => 'VoicemailContext',
            ),
            'PeerEntry' => array('ChanObjectType' => 'ChannelObjectType'),
            'VarSet' => array('Variable' => 'VariableName'),
        	'StatusComplete' => array('Items' => 'ListItems'),
            'DBGetResponse' => array('Key' => 'KeyName', 'Val' => 'Value'),
        	'vgsm_sms_rx' => array(
        	    'X-SMS-Status-Report-Indication' => 'StatusReportIndication',
        	    'X-SMS-User-Data-Header-Indicator' => 'DataHeaderIndicator',
        	    'X-SMS-Reply-Path' => 'ReplyPath',
        	    'X-SMS-More-Messages-To-Send' => 'MoreMessagesToSend',
                'X-SMS-SMCC-Number' => 'SMCCNumber',
        	    'X-SMS-SMCC-TON' => 'SMCCTON',
        	    'X-SMS-SMCC-NP' => 'SMCCNP',
        	    'X-SMS-Sender-Number' => 'SenderNumber',
        	    'X-SMS-Sender-TON' => 'SenderTON',
        	    'X-SMS-Sender-NP' => 'SenderNP',
        	    'X-SMS-Message-Type' => 'MessageType',
                'Content-Transfer-Encoding' => 'ContentEncoding',
                'Content-Type' => 'ContentType',
                'MIME-Version' => 'MIMEVersion'
        	),
        	'DAHDIShowChannelsComplete' => array('items' => 'ListItems'),
        	'vgsm_net_state' => array('X-vGSM-GSM-Registration' => 'State'),
        	'vgsm_me_state' => array(
        		'X-vGSM-ME-State-Change-Reason' => 'Reason',
        	    'X-vGSM-ME-Old-State' => 'OldState',
        	    'X-vGSM-ME-State' => 'State',
        	),
            'ParkedCall' => array('Exten' => 'Extension'),
            'UnParkedCall' => array('Exten' => 'Extension'),
            'AGIExecStart' => array(

            ),
        );
        foreach ($eventNames as $eventName) {
            $this->_testEvent($eventName, $eventGetters, $eventValues[$eventName], $eventTranslatedValues);
        }
    }

    private function _testEvent($eventName, array $getters, array $values, array $translatedValues)
    {
        global $mock_stream_socket_client;
        global $mock_stream_set_blocking;
        global $mockTime;
        global $standardAMIStart;
        $eventClass = "\\PAMI\\Message\\Event\\" . $eventName . 'Event';
        $mockTime = true;
        $mock_stream_socket_client = true;
        $mock_stream_set_blocking = true;
        $options = array(
        	'host' => '2.3.4.5',
            'scheme' => 'tcp://',
        	'port' => 9999,
        	'username' => 'asd',
        	'secret' => 'asd',
            'connect_timeout' => 10,
        	'read_timeout' => 10
        );
        $write = array(
        	"action: Login\r\nactionid: 1432.123\r\nusername: asd\r\nsecret: asd\r\n"
        );
        setFgetsMock($standardAMIStart, $write);
        $client = new \PAMI\Client\Impl\ClientImpl($options);
        $client->registerEventListener(new SomeListenerClass);
	    $client->open();
	    $message = array();
	    $message[] = 'Event: ' . $eventName;
	    foreach ($values as $key => $value) {
	        $message[] = $key . ': ' . $value;
	    }
	    $message[] = '';
	    setFgetsMock($message, $message);
	    for($i = 0; $i < count($message); $i++) {
	        $client->process();
	    }
	    $event = SomeListenerClass::$event;
        foreach ($values as $key => $value) {
            if (isset($getters[$eventName][$key])) {
                $methodName = 'get' . $getters[$eventName][$key];
            } else {
                $methodName = 'get' . $key;
            }
            if (isset($translatedValues[$eventName][$key])) {
                $value = $translatedValues[$eventName][$key];
            }

            $this->assertTrue(
                method_exists($event, $methodName),
                sprintf('Method %s doesn\'t exixt in event %s', $methodName, get_class($event))
            );

            $this->assertEquals($event->$methodName(), $value, $eventName);
        }
    }
}
}