summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDiederik de Groot <ddegroot@talon.nl>2014-08-13 12:44:57 +0200
committerMichael Mann <mmann78@netscape.net>2014-08-24 12:55:10 +0000
commit276a697a6b57205f15975e6e740bd427b7b510d1 (patch)
tree6418affca8e444462470b4c946d143a728c1046d /tools
parentcda5c166674485f77435d1e95d482852a83c142d (diff)
downloadwireshark-276a697a6b57205f15975e6e740bd427b7b510d1.tar.gz
[RFC] Skinny: Rewrite using automatic code generation
Support: Protocolversion 0 - 22 Includes: Callmanager to/from Cisco Phones, Inter CallManager Messages and CallManager to/from Cisco ASA Code Generator not included, because protocol does not evolve anymore / No newer versions to be expected Fixed: Added more readable information for SoftKeyTemplateRes and SoftKeySetRes, Added Bitfield processing, Added Longer Field Descriptions Fixed: message_handle array overrun, message_ids, hf_skinny fields format Fixed: dialedNumber Message, Setting data on si->fields (tap.h) Fixed: Comments made by Peter Wu Added: Code Generator Sources Fixed: hf_skinny blurp, XML Truncation, Updated ButtonTemplate, SoftKeyTemplate and SoftKeyRes presentation Fixed: EnblocMessage, DialedNumberMessage Added: DisplayLabels Added: dissect_skinny_DisplayLabel function to Lookup and Translate in the phone embedded strings to human readable form Fixed: CallInfoV2, OpenReceiveChannelAck, KeypadButton when generated by a 7912 running old firmware. Fixed: Made changes requested by Peter Wu, in last 2 reviews Fixed: ConfigStatV2, ServerRes Fixed: Comment made by Michael Mann Fixed: CheckAPI.pl / Petri Dish Fixed: Included packet-skinny.h and epan/dissectors/packet-skinny.h.in -> Petri Dish Change-Id: Ic2d2ead8ff0ce80668c9b2e249ce69f53e25a383 Bug: 10262 Reviewed-on: https://code.wireshark.org/review/2921 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Jörg Mayer <jmayer@loplof.de> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'tools')
-rw-r--r--tools/SkinnyProtocolOptimized.xml4062
-rwxr-xr-xtools/parse_xml2skinny_dissector.py888
2 files changed, 4950 insertions, 0 deletions
diff --git a/tools/SkinnyProtocolOptimized.xml b/tools/SkinnyProtocolOptimized.xml
new file mode 100644
index 0000000000..adcce7b68c
--- /dev/null
+++ b/tools/SkinnyProtocolOptimized.xml
@@ -0,0 +1,4062 @@
+<?xml version="1.0"?>
+<messages>
+ <bitfield name="Generic_Bitfield_8">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ </entries>
+ </bitfield>
+ <bitfield name="Generic_Bitfield_16">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ </entries>
+ </bitfield>
+ <bitfield name="Generic_Bitfield_32">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ <entry comment="" name="Generic_Bitfield_Bit17" text="Bit17" value="0x10000"/>
+ <entry comment="" name="Generic_Bitfield_Bit18" text="Bit18" value="0x20000"/>
+ <entry comment="" name="Generic_Bitfield_Bit19" text="Bit19" value="0x40000"/>
+ <entry comment="" name="Generic_Bitfield_Bit20" text="Bit20" value="0x80000"/>
+ <entry comment="" name="Generic_Bitfield_Bit21" text="Bit21" value="0x100000"/>
+ <entry comment="" name="Generic_Bitfield_Bit22" text="Bit22" value="0x200000"/>
+ <entry comment="" name="Generic_Bitfield_Bit23" text="Bit23" value="0x400000"/>
+ <entry comment="" name="Generic_Bitfield_Bit24" text="Bit24" value="0x800000"/>
+ <entry comment="" name="Generic_Bitfield_Bit25" text="Bit25" value="0x1000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit26" text="Bit26" value="0x2000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit27" text="Bit27" value="0x4000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit28" text="Bit28" value="0x8000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit29" text="Bit29" value="0x10000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit30" text="Bit30" value="0x20000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit31" text="Bit31" value="0x40000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit32" text="Bit32" value="0x80000000"/>
+ </entries>
+ </bitfield>
+ <enum name="DisplayLabels_36">
+ <entries>
+ <entry name="DisplayLabel_Empty" text="Empty" value="0o000"/>
+ <entry name="DisplayLabel_Acct" text="Acct" value="0o002"/>
+ <entry name="DisplayLabel_Flash" text="Flash" value="0o003"/>
+ <entry name="DisplayLabel_Login" text="Login" value="0o004"/>
+ <entry name="DisplayLabel_Device_In_Home_Location" text="Device In Home Location" value="0o005"/>
+ <entry name="DisplayLabel_Device_In_Roaming_Location" text="Device In Roaming Location" value="0o006"/>
+ <entry name="DisplayLabel_Enter_Authorization_Code" text="Enter Authorization Code" value="0o007"/>
+ <entry name="DisplayLabel_Enter_Client_Matter_Code" text="Enter Client Matter Code" value="0o010"/>
+ <entry name="DisplayLabel_Calls_Available_For_Pickup" text="Calls Available For Pickup" value="0o011"/>
+ <entry name="DisplayLabel_Cm_Fallback_Service_Operating" text="Cm Fallback Service Operating" value="0o012"/>
+ <entry name="DisplayLabel_Max_Phones_Exceeded" text="Max Phones Exceeded" value="0o013"/>
+ <entry name="DisplayLabel_Waiting_To_Rehome" text="Waiting To Rehome" value="0o014"/>
+ <entry name="DisplayLabel_Please_End_Call" text="Please End Call" value="0o015"/>
+ <entry name="DisplayLabel_Paging" text="Paging" value="0o016"/>
+ <entry name="DisplayLabel_Select_Line" text="Select Line" value="0o017"/>
+ <entry name="DisplayLabel_Transfer_Destination_Is_Busy" text="Transfer Destination Is Busy" value="0o020"/>
+ <entry name="DisplayLabel_Select_A_Service" text="Select A Service" value="0o021"/>
+ <entry name="DisplayLabel_Local_Services" text="Local Services" value="0o022"/>
+ <entry name="DisplayLabel_Enter_Search_Criteria" text="Enter Search Criteria" value="0o023"/>
+ <entry name="DisplayLabel_Night_Service" text="Night Service" value="0o024"/>
+ <entry name="DisplayLabel_Night_Service_Active" text="Night Service Active" value="0o025"/>
+ <entry name="DisplayLabel_Night_Service_Disabled" text="Night Service Disabled" value="0o026"/>
+ <entry name="DisplayLabel_Login_Successful" text="Login Successful" value="0o027"/>
+ <entry name="DisplayLabel_Wrong_Pin" text="Wrong Pin" value="0o030"/>
+ <entry name="DisplayLabel_Please_Enter_Pin" text="Please Enter Pin" value="0o031"/>
+ <entry name="DisplayLabel_Of" text="Of" value="0o032"/>
+ <entry name="DisplayLabel_Records_1_To" text="Records 1 To" value="0o033"/>
+ <entry name="DisplayLabel_No_Record_Found" text="No Record Found" value="0o034"/>
+ <entry name="DisplayLabel_Search_Results" text="Search Results" value="0o035"/>
+ <entry name="DisplayLabel_Calls_In_Queue" text="Calls In Queue" value="0o036"/>
+ <entry name="DisplayLabel_Join_To_Hunt_Group" text="Join To Hunt Group" value="0o037"/>
+ <entry name="DisplayLabel_Ready" text="Ready" value="0o040"/>
+ <entry name="DisplayLabel_Notready" text="Notready" value="0o041"/>
+ <entry name="DisplayLabel_Call_On_Hold" text="Call On Hold" value="0o042"/>
+ <entry name="DisplayLabel_Hold_Reversion" text="Hold Reversion" value="0o043"/>
+ <entry name="DisplayLabel_Setup_Failed" text="Setup Failed" value="0o044"/>
+ <entry name="DisplayLabel_No_Resources" text="No Resources" value="0o045"/>
+ <entry name="DisplayLabel_Device_Not_Authorized" text="Device Not Authorized" value="0o046"/>
+ <entry name="DisplayLabel_Monitoring" text="Monitoring" value="0o047"/>
+ <entry name="DisplayLabel_Recording_Awaiting_Call_To_Be_Active" text="Recording Awaiting Call To Be Active" value="0o050"/>
+ <entry name="DisplayLabel_Recording_Already_In_Progress" text="Recording Already In Progress" value="0o051"/>
+ <entry name="DisplayLabel_Inactive_Recording_Session" text="Inactive Recording Session" value="0o052"/>
+ <entry name="DisplayLabel_Mobility" text="Mobility" value="0o053"/>
+ <entry name="DisplayLabel_Whisper" text="Whisper" value="0o054"/>
+ <entry name="DisplayLabel_Forward_All" text="Forward All" value="0o055"/>
+ <entry name="DisplayLabel_Malicious_Call_Id" text="Malicious Call Id" value="0o056"/>
+ <entry name="DisplayLabel_Group_Pickup" text="Group Pickup" value="0o057"/>
+ <entry name="DisplayLabel_Remove_Last_Participant" text="Remove Last Participant" value="0o060"/>
+ <entry name="DisplayLabel_Other_Pickup" text="Other Pickup" value="0o061"/>
+ <entry name="DisplayLabel_Video" text="Video" value="0o062"/>
+ <entry name="DisplayLabel_End_Call" text="End Call" value="0o063"/>
+ <entry name="DisplayLabel_Conference_List" text="Conference List" value="0o064"/>
+ <entry name="DisplayLabel_Quality_Reporting_Tool" text="Quality Reporting Tool" value="0o065"/>
+ <entry name="DisplayLabel_Hunt_Group" text="Hunt Group" value="0o066"/>
+ <entry name="DisplayLabel_Use_Line_Or_Join_To_Complete" text="Use Line Or Join To Complete" value="0o067"/>
+ <entry name="DisplayLabel_Do_Not_Disturb" text="Do Not Disturb" value="0o070"/>
+ <entry name="DisplayLabel_Do_Not_Disturb_Is_Active" text="Do Not Disturb Is Active" value="0o071"/>
+ <entry name="DisplayLabel_Cfwdall_Loop_Detected" text="Cfwdall Loop Detected" value="0o072"/>
+ <entry name="DisplayLabel_Cfwdall_Hops_Exceeded" text="Cfwdall Hops Exceeded" value="0o073"/>
+ <entry name="DisplayLabel_Abbrdial" text="Abbrdial" value="0o074"/>
+ <entry name="DisplayLabel_Pickup_Is_Unavailable" text="Pickup Is Unavailable" value="0o075"/>
+ <entry name="DisplayLabel_Conference_Is_Unavailable" text="Conference Is Unavailable" value="0o076"/>
+ <entry name="DisplayLabel_Meetme_Is_Unavailable" text="Meetme Is Unavailable" value="0o077"/>
+ <entry name="DisplayLabel_Cannot_Retrieve_Parked_Call" text="Cannot Retrieve Parked Call" value="0o0100"/>
+ <entry name="DisplayLabel_Cannot_Send_Call_To_Mobile" text="Cannot Send Call To Mobile" value="0o0101"/>
+ <entry name="DisplayLabel_Record" text="Record" value="0o0103"/>
+ <entry name="DisplayLabel_Cannot_Move_Conversation" text="Cannot Move Conversation" value="0o0104"/>
+ <entry name="DisplayLabel_Cw_Off" text="Cw Off" value="0o0105"/>
+ <entry name="DisplayLabel_Coaching" text="Coaching" value="0o0106"/>
+ <entry name="DisplayLabel_Recording" text="Recording" value="0o0117"/>
+ <entry name="DisplayLabel_Recording_Failed" text="Recording Failed" value="0o0120"/>
+ <entry name="DisplayLabel_Connecting" text="Connecting" value="0o0121"/>
+ </entries>
+ </enum>
+ <enum name="DisplayLabels_200">
+ <entries>
+ <entry name="DisplayLabel_Redial" text="Redial" value="0o01"/>
+ <entry name="DisplayLabel_Newcall" text="Newcall" value="0o02"/>
+ <entry name="DisplayLabel_Hold" text="Hold" value="0o03"/>
+ <entry name="DisplayLabel_Transfer" text="Transfer" value="0o04"/>
+ <entry name="DisplayLabel_Cfwdall" text="Cfwdall" value="0o05"/>
+ <entry name="DisplayLabel_Cfwdbusy" text="Cfwdbusy" value="0o06"/>
+ <entry name="DisplayLabel_Cfwdnoanswer" text="Cfwdnoanswer" value="0o07"/>
+ <entry name="DisplayLabel_Backspace" text="Backspace" value="0o010"/>
+ <entry name="DisplayLabel_Endcall" text="Endcall" value="0o011"/>
+ <entry name="DisplayLabel_Resume" text="Resume" value="0o012"/>
+ <entry name="DisplayLabel_Answer" text="Answer" value="0o013"/>
+ <entry name="DisplayLabel_Info" text="Info" value="0o014"/>
+ <entry name="DisplayLabel_Confrn" text="Confrn" value="0o015"/>
+ <entry name="DisplayLabel_Park" text="Park" value="0o016"/>
+ <entry name="DisplayLabel_Join" text="Join" value="0o017"/>
+ <entry name="DisplayLabel_Meetme" text="Meetme" value="0o020"/>
+ <entry name="DisplayLabel_Pickup" text="Pickup" value="0o021"/>
+ <entry name="DisplayLabel_Gpickup" text="Gpickup" value="0o022"/>
+ <entry name="DisplayLabel_Your_Current_Options" text="Your Current Options" value="0o023"/>
+ <entry name="DisplayLabel_Off_Hook" text="Off Hook" value="0o024"/>
+ <entry name="DisplayLabel_On_Hook" text="On Hook" value="0o025"/>
+ <entry name="DisplayLabel_Ring_Out" text="Ring Out" value="0o026"/>
+ <entry name="DisplayLabel_From" text="From" value="0o027"/>
+ <entry name="DisplayLabel_Connected" text="Connected" value="0o030"/>
+ <entry name="DisplayLabel_Busy" text="Busy" value="0o031"/>
+ <entry name="DisplayLabel_Line_In_Use" text="Line In Use" value="0o032"/>
+ <entry name="DisplayLabel_Call_Waiting" text="Call Waiting" value="0o033"/>
+ <entry name="DisplayLabel_Call_Transfer" text="Call Transfer" value="0o034"/>
+ <entry name="DisplayLabel_Call_Park" text="Call Park" value="0o035"/>
+ <entry name="DisplayLabel_Call_Proceed" text="Call Proceed" value="0o036"/>
+ <entry name="DisplayLabel_In_Use_Remote" text="In Use Remote" value="0o037"/>
+ <entry name="DisplayLabel_Enter_Number" text="Enter Number" value="0o040"/>
+ <entry name="DisplayLabel_Call_Park_At" text="Call Park At" value="0o041"/>
+ <entry name="DisplayLabel_Primary_Only" text="Primary Only" value="0o042"/>
+ <entry name="DisplayLabel_Temp_Fail" text="Temp Fail" value="0o043"/>
+ <entry name="DisplayLabel_You_Have_Voicemail" text="You Have Voicemail" value="0o044"/>
+ <entry name="DisplayLabel_Forwarded_To" text="Forwarded To" value="0o045"/>
+ <entry name="DisplayLabel_Can_Not_Complete_Conference" text="Can Not Complete Conference" value="0o046"/>
+ <entry name="DisplayLabel_No_Conference_Bridge" text="No Conference Bridge" value="0o047"/>
+ <entry name="DisplayLabel_Can_Not_Hold_Primary_Control" text="Can Not Hold Primary Control" value="0o050"/>
+ <entry name="DisplayLabel_Invalid_Conference_Participant" text="Invalid Conference Participant" value="0o051"/>
+ <entry name="DisplayLabel_In_Conference_Already" text="In Conference Already" value="0o052"/>
+ <entry name="DisplayLabel_No_Participant_Info" text="No Participant Info" value="0o053"/>
+ <entry name="DisplayLabel_Exceed_Maximum_Parties" text="Exceed Maximum Parties" value="0o054"/>
+ <entry name="DisplayLabel_Key_Is_Not_Active" text="Key Is Not Active" value="0o055"/>
+ <entry name="DisplayLabel_Error_No_License" text="Error No License" value="0o056"/>
+ <entry name="DisplayLabel_Error_Dbconfig" text="Error Dbconfig" value="0o057"/>
+ <entry name="DisplayLabel_Error_Database" text="Error Database" value="0o060"/>
+ <entry name="DisplayLabel_Error_Pass_Limit" text="Error Pass Limit" value="0o061"/>
+ <entry name="DisplayLabel_Error_Unknown" text="Error Unknown" value="0o062"/>
+ <entry name="DisplayLabel_Error_Mismatch" text="Error Mismatch" value="0o063"/>
+ <entry name="DisplayLabel_Conference" text="Conference" value="0o064"/>
+ <entry name="DisplayLabel_Park_Number" text="Park Number" value="0o065"/>
+ <entry name="DisplayLabel_Private" text="Private" value="0o066"/>
+ <entry name="DisplayLabel_Not_Enough_Bandwidth" text="Not Enough Bandwidth" value="0o067"/>
+ <entry name="DisplayLabel_Unknown_Number" text="Unknown Number" value="0o070"/>
+ <entry name="DisplayLabel_Rmlstc" text="Rmlstc" value="0o071"/>
+ <entry name="DisplayLabel_Voicemail" text="Voicemail" value="0o072"/>
+ <entry name="DisplayLabel_Immdiv" text="Immdiv" value="0o073"/>
+ <entry name="DisplayLabel_Intrcpt" text="Intrcpt" value="0o074"/>
+ <entry name="DisplayLabel_Setwtch" text="Setwtch" value="0o075"/>
+ <entry name="DisplayLabel_Trnsfvm" text="Trnsfvm" value="0o076"/>
+ <entry name="DisplayLabel_Dnd" text="Dnd" value="0o077"/>
+ <entry name="DisplayLabel_Divall" text="Divall" value="0o0100"/>
+ <entry name="DisplayLabel_Callback" text="Callback" value="0o0101"/>
+ <entry name="DisplayLabel_Network_Congestion_Rerouting" text="Network Congestion Rerouting" value="0o0102"/>
+ <entry name="DisplayLabel_Barge" text="Barge" value="0o0103"/>
+ <entry name="DisplayLabel_Failed_To_Setup_Barge" text="Failed To Setup Barge" value="0o0104"/>
+ <entry name="DisplayLabel_Another_Barge_Exists" text="Another Barge Exists" value="0o0105"/>
+ <entry name="DisplayLabel_Incompatible_Device_Type" text="Incompatible Device Type" value="0o0106"/>
+ <entry name="DisplayLabel_No_Park_Number_Available" text="No Park Number Available" value="0o0107"/>
+ <entry name="DisplayLabel_Callpark_Reversion" text="Callpark Reversion" value="0o0110"/>
+ <entry name="DisplayLabel_Service_Is_Not_Active" text="Service Is Not Active" value="0o0111"/>
+ <entry name="DisplayLabel_High_Traffic_Try_Again_Later" text="High Traffic Try Again Later" value="0o0112"/>
+ <entry name="DisplayLabel_Qrt" text="Qrt" value="0o0113"/>
+ <entry name="DisplayLabel_Mcid" text="Mcid" value="0o0114"/>
+ <entry name="DisplayLabel_Dirtrfr" text="Dirtrfr" value="0o0115"/>
+ <entry name="DisplayLabel_Select" text="Select" value="0o0116"/>
+ <entry name="DisplayLabel_Conflist" text="Conflist" value="0o0117"/>
+ <entry name="DisplayLabel_Idivert" text="Idivert" value="0o0120"/>
+ <entry name="DisplayLabel_Cbarge" text="Cbarge" value="0o0121"/>
+ <entry name="DisplayLabel_Can_Not_Complete_Transfer" text="Can Not Complete Transfer" value="0o0122"/>
+ <entry name="DisplayLabel_Can_Not_Join_Calls" text="Can Not Join Calls" value="0o0123"/>
+ <entry name="DisplayLabel_Mcid_Successful" text="Mcid Successful" value="0o0124"/>
+ <entry name="DisplayLabel_Number_Not_Configured" text="Number Not Configured" value="0o0125"/>
+ <entry name="DisplayLabel_Security_Error" text="Security Error" value="0o0126"/>
+ <entry name="DisplayLabel_Video_Bandwidth_Unavailable" text="Video Bandwidth Unavailable" value="0o0127"/>
+ <entry name="DisplayLabel_Vidmode" text="Vidmode" value="0o0130"/>
+ <entry name="DisplayLabel_Max_Call_Duration_Timeout" text="Max Call Duration Timeout" value="0o0131"/>
+ <entry name="DisplayLabel_Max_Hold_Duration_Timeout" text="Max Hold Duration Timeout" value="0o0132"/>
+ <entry name="DisplayLabel_Opickup" text="Opickup" value="0o0133"/>
+ <entry name="DisplayLabel_Hlog" text="Hlog" value="0o0134"/>
+ <entry name="DisplayLabel_Logged_Out_Of_Hunt_Group" text="Logged Out Of Hunt Group" value="0o0135"/>
+ <entry name="DisplayLabel_Park_Slot_Unavailable" text="Park Slot Unavailable" value="0o0136"/>
+ <entry name="DisplayLabel_No_Call_Available_For_Pickup" text="No Call Available For Pickup" value="0o0137"/>
+ <entry name="DisplayLabel_External_Transfer_Restricted" text="External Transfer Restricted" value="0o0141"/>
+ <entry name="DisplayLabel_No_Line_Available_For_Pickup" text="No Line Available For Pickup" value="0o0142"/>
+ <entry name="DisplayLabel_Path_Replacement_In_Progress" text="Path Replacement In Progress" value="0o0143"/>
+ <entry name="DisplayLabel_Unknown_2" text="Unknown 2" value="0o0144"/>
+ <entry name="DisplayLabel_Mac_Address" text="Mac Address" value="0o0145"/>
+ <entry name="DisplayLabel_Host_Name" text="Host Name" value="0o0146"/>
+ <entry name="DisplayLabel_Domain_Name" text="Domain Name" value="0o0147"/>
+ <entry name="DisplayLabel_Ip_Address" text="Ip Address" value="0o0150"/>
+ <entry name="DisplayLabel_Subnet_Mask" text="Subnet Mask" value="0o0151"/>
+ <entry name="DisplayLabel_Tftp_Server_1" text="Tftp Server 1" value="0o0152"/>
+ <entry name="DisplayLabel_Default_Router_1" text="Default Router 1" value="0o0153"/>
+ <entry name="DisplayLabel_Default_Router_2" text="Default Router 2" value="0o0154"/>
+ <entry name="DisplayLabel_Default_Router_3" text="Default Router 3" value="0o0155"/>
+ <entry name="DisplayLabel_Default_Router_4" text="Default Router 4" value="0o0156"/>
+ <entry name="DisplayLabel_Default_Router_5" text="Default Router 5" value="0o0157"/>
+ <entry name="DisplayLabel_Dns_Server_1" text="Dns Server 1" value="0o0160"/>
+ <entry name="DisplayLabel_Dns_Server_2" text="Dns Server 2" value="0o0161"/>
+ <entry name="DisplayLabel_Dns_Server_3" text="Dns Server 3" value="0o0162"/>
+ <entry name="DisplayLabel_Dns_Server_4" text="Dns Server 4" value="0o0163"/>
+ <entry name="DisplayLabel_Dns_Server_5" text="Dns Server 5" value="0o0164"/>
+ <entry name="DisplayLabel_Operational_Vlan_Id" text="Operational Vlan Id" value="0o0165"/>
+ <entry name="DisplayLabel_Admin_Vlan_Id" text="Admin Vlan Id" value="0o0166"/>
+ <entry name="DisplayLabel_Call_Manager_1" text="Call Manager 1" value="0o0167"/>
+ <entry name="DisplayLabel_Call_Manager_2" text="Call Manager 2" value="0o0170"/>
+ <entry name="DisplayLabel_Call_Manager_3" text="Call Manager 3" value="0o0171"/>
+ <entry name="DisplayLabel_Call_Manager_4" text="Call Manager 4" value="0o0172"/>
+ <entry name="DisplayLabel_Call_Manager_5" text="Call Manager 5" value="0o0173"/>
+ <entry name="DisplayLabel_Information_Url" text="Information Url" value="0o0174"/>
+ <entry name="DisplayLabel_Directories_Url" text="Directories Url" value="0o0175"/>
+ <entry name="DisplayLabel_Messages_Url" text="Messages Url" value="0o0176"/>
+ <entry name="DisplayLabel_Services_Url" text="Services Url" value="0o0177"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="KeepAliveMessage" opcode="0x0000" status="no" type="RegistrationAndManagement"/>
+ <enum name="DeviceType">
+ <entries>
+ <entry comment="" name="DeviceType_Station30SPplus" text="Station30SPplus" value="0x00001"/>
+ <entry comment="" name="DeviceType_Station12SPplus" text="Station12SPplus" value="0x00002"/>
+ <entry comment="" name="DeviceType_Station12SP" text="Station12SP" value="0x00003"/>
+ <entry comment="" name="DeviceType_Station12" text="Station12" value="0x00004"/>
+ <entry comment="" name="DeviceType_Station30VIP" text="Station30VIP" value="0x00005"/>
+ <entry comment="" name="DeviceType_StationTelecaster" text="StationTelecaster" value="0x00006"/>
+ <entry comment="" name="DeviceType_StationTelecasterMgr" text="StationTelecasterMgr" value="0x00007"/>
+ <entry comment="" name="DeviceType_StationTelecasterBus" text="StationTelecasterBus" value="0x00008"/>
+ <entry comment="" name="DeviceType_StationPolycom" text="StationPolycom" value="0x00009"/>
+ <entry comment="" name="DeviceType_StationVGC" text="StationVGC" value="0x0000a"/>
+ <entry comment="" name="DeviceType_VGCVirtualPhone" text="VGCVirtualPhone" value="0x0000b"/>
+ <entry comment="" name="DeviceType_StationATA186" text="StationATA186" value="0x0000c"/>
+ <entry comment="" name="DeviceType_StationATA188" text="StationATA188" value="0x0000d"/>
+ <entry comment="" name="DeviceType_EmccBase" text="EmccBase" value="0x0000f"/>
+ <entry comment="" name="DeviceType_Virtual30SPplus" text="Virtual30SPplus" value="0x00014"/>
+ <entry comment="" name="DeviceType_StationPhoneApplication" text="StationPhoneApplication" value="0x00015"/>
+ <entry comment="" name="DeviceType_AnalogAccess" text="AnalogAccess" value="0x0001e"/>
+ <entry comment="" name="DeviceType_DigitalAccessTitan1" text="DigitalAccessTitan1" value="0x00028"/>
+ <entry comment="Digital Access T1" name="DeviceType_Digital Access T1" text="Digital Access T1" value="0x00029"/>
+ <entry comment="" name="DeviceType_DigitalAccessTitan2" text="DigitalAccessTitan2" value="0x0002a"/>
+ <entry comment="" name="DeviceType_DigitalAccessLennon" text="DigitalAccessLennon" value="0x0002b"/>
+ <entry comment="" name="DeviceType_AnalogAccessElvis" text="AnalogAccessElvis" value="0x0002f"/>
+ <entry comment="" name="DeviceType_VGCGateway" text="VGCGateway" value="0x00030"/>
+ <entry comment="" name="DeviceType_ConferenceBridge" text="ConferenceBridge" value="0x00032"/>
+ <entry comment="" name="DeviceType_ConferenceBridgeYoko" text="ConferenceBridgeYoko" value="0x00033"/>
+ <entry comment="" name="DeviceType_ConferenceBridgeDixieLand" text="ConferenceBridgeDixieLand" value="0x00034"/>
+ <entry comment="" name="DeviceType_ConferenceBridgeSummit" text="ConferenceBridgeSummit" value="0x00035"/>
+ <entry comment="" name="DeviceType_H225" text="H225" value="0x0003c"/>
+ <entry comment="" name="DeviceType_H323Phone" text="H323Phone" value="0x0003d"/>
+ <entry comment="" name="DeviceType_H323Gateway" text="H323Gateway" value="0x0003e"/>
+ <entry comment="" name="DeviceType_MusicOnHold" text="MusicOnHold" value="0x00046"/>
+ <entry comment="" name="DeviceType_Pilot" text="Pilot" value="0x00047"/>
+ <entry comment="" name="DeviceType_TapiPort" text="TapiPort" value="0x00048"/>
+ <entry comment="" name="DeviceType_TapiRoutePoint" text="TapiRoutePoint" value="0x00049"/>
+ <entry comment="" name="DeviceType_VoiceInBox" text="VoiceInBox" value="0x00050"/>
+ <entry comment="" name="DeviceType_VoiceInboxAdmin" text="VoiceInboxAdmin" value="0x00051"/>
+ <entry comment="" name="DeviceType_LineAnnunciator" text="LineAnnunciator" value="0x00052"/>
+ <entry comment="" name="DeviceType_SoftwareMtpDixieLand" text="SoftwareMtpDixieLand" value="0x00053"/>
+ <entry comment="" name="DeviceType_CiscoMediaServer" text="CiscoMediaServer" value="0x00054"/>
+ <entry comment="" name="DeviceType_ConferenceBridgeFlint" text="ConferenceBridgeFlint" value="0x00055"/>
+ <entry comment="" name="DeviceType_ConferenceBridgeHetroGen" text="ConferenceBridgeHetroGen" value="0x00056"/>
+ <entry comment="" name="DeviceType_ConferenceBridgeAudVid" text="ConferenceBridgeAudVid" value="0x00057"/>
+ <entry comment="" name="DeviceType_ConferenceHVideoBridge" text="ConferenceHVideoBridge" value="0x00058"/>
+ <entry comment="" name="DeviceType_RouteList" text="RouteList" value="0x0005a"/>
+ <entry comment="" name="DeviceType_LoadSimulator" text="LoadSimulator" value="0x00064"/>
+ <entry comment="" name="DeviceType_MediaTerminationPoint" text="MediaTerminationPoint" value="0x0006e"/>
+ <entry comment="" name="DeviceType_MediaTerminationPointYoko" text="MediaTerminationPointYoko" value="0x0006f"/>
+ <entry comment="" name="DeviceType_MediaTerminationPointDixieLand" text="MediaTerminationPointDixieLand" value="0x00070"/>
+ <entry comment="" name="DeviceType_MediaTerminationPointSummit" text="MediaTerminationPointSummit" value="0x00071"/>
+ <entry comment="" name="DeviceType_7941G" text="7941G" value="0x00073"/>
+ <entry comment="" name="DeviceType_7971" text="7971" value="0x00077"/>
+ <entry comment="" name="DeviceType_MGCPStation" text="MGCPStation" value="0x00078"/>
+ <entry comment="" name="DeviceType_MGCPTrunk" text="MGCPTrunk" value="0x00079"/>
+ <entry comment="" name="DeviceType_RASProxy" text="RASProxy" value="0x0007a"/>
+ <entry comment="" name="DeviceType_Trunk" text="Trunk" value="0x0007d"/>
+ <entry comment="" name="DeviceType_Annunciator" text="Annunciator" value="0x0007e"/>
+ <entry comment="" name="DeviceType_MonitorBridge" text="MonitorBridge" value="0x0007f"/>
+ <entry comment="" name="DeviceType_Recorder" text="Recorder" value="0x00080"/>
+ <entry comment="" name="DeviceType_MonitorBridgeYoko" text="MonitorBridgeYoko" value="0x00081"/>
+ <entry comment="" name="DeviceType_SipTrunk" text="SipTrunk" value="0x00083"/>
+ <entry comment="" name="DeviceType_SipGateway" text="SipGateway" value="0x00084"/>
+ <entry comment="" name="DeviceType_WsmTrunk" text="WsmTrunk" value="0x00085"/>
+ <entry comment="" name="DeviceType_RemoteDestination" text="RemoteDestination" value="0x00086"/>
+ <entry comment="" name="DeviceType_GenericDevice" text="GenericDevice" value="0x000fd"/>
+ <entry comment="" name="DeviceType_UnknownMGCPGateway" text="UnknownMGCPGateway" value="0x000fe"/>
+ <entry comment="" name="DeviceType_NotDefined" text="NotDefined" value="0x000ff"/>
+ <entry comment="" name="DeviceType_7989" text="7989" value="0x0012e"/>
+ <entry comment="" name="DeviceType_7911" text="7911" value="0x00133"/>
+ <entry comment="" name="DeviceType_7941G_GE" text="7941G_GE" value="0x00134"/>
+ <entry comment="" name="DeviceType_MotorolaCN622" text="MotorolaCN622" value="0x0014f"/>
+ <entry comment="" name="DeviceType_3rdPartySipBasic" text="3rdPartySipBasic" value="0x00150"/>
+ <entry comment="" name="DeviceType_StationGoPed" text="StationGoPed" value="0x0015c"/>
+ <entry comment="" name="DeviceType_UnifiedCommunicator" text="UnifiedCommunicator" value="0x00166"/>
+ <entry comment="" name="DeviceType_7921" text="7921" value="0x0016d"/>
+ <entry comment="" name="DeviceType_7906" text="7906" value="0x00171"/>
+ <entry comment="" name="DeviceType_3rdPartySipAdv" text="3rdPartySipAdv" value="0x00176"/>
+ <entry comment="" name="DeviceType_Telepresence" text="Telepresence" value="0x00177"/>
+ <entry comment="" name="DeviceType_7962" text="7962" value="0x00194"/>
+ <entry comment="" name="DeviceType_3951" text="3951" value="0x0019c"/>
+ <entry comment="" name="DeviceType_7937" text="7937" value="0x001af"/>
+ <entry comment="" name="DeviceType_7942" text="7942" value="0x001b2"/>
+ <entry comment="" name="DeviceType_7945" text="7945" value="0x001b3"/>
+ <entry comment="" name="DeviceType_7965" text="7965" value="0x001b4"/>
+ <entry comment="" name="DeviceType_7975" text="7975" value="0x001b5"/>
+ <entry comment="" name="DeviceType_9971_CE" text="9971_CE" value="0x001ed"/>
+ <entry comment="" name="DeviceType_UnifiedMobileCommunicator" text="UnifiedMobileCommunicator" value="0x001d4"/>
+ <entry comment="" name="DeviceType_CSF" text="CSF" value="0x001f7"/>
+ <entry comment="" name="DeviceType_CiscoTelepresenceMcu" text="CiscoTelepresenceMcu" value="0x00255"/>
+ <entry comment="" name="DeviceType_CiscoTelePresenceConductor" text="CiscoTelePresenceConductor" value="0x08cc9"/>
+ <entry comment="" name="DeviceType_CiscoTelePresenceExchange" text="CiscoTelePresenceExchange" value="0x00257"/>
+ <entry comment="" name="DeviceType_CiscoTelePresenceSoftwareConferenceBridge" text="CiscoTelePresenceSoftwareConferenceBridge" value="0x00258"/>
+ <entry comment="" name="DeviceType_ASSip" text="ASSip" value="0x00277"/>
+ <entry comment="" name="DeviceType_CtiRemoteDevice" text="CtiRemoteDevice" value="0x0027b"/>
+ <entry comment="" name="DeviceType_7905" text="7905" value="0x04e20"/>
+ <entry comment="" name="DeviceType_7920" text="7920" value="0x07532"/>
+ <entry comment="" name="DeviceType_7970" text="7970" value="0x07536"/>
+ <entry comment="" name="DeviceType_7912" text="7912" value="0x07537"/>
+ <entry comment="" name="DeviceType_7902" text="7902" value="0x07538"/>
+ <entry comment="" name="DeviceType_SoftPhone" text="SoftPhone" value="0x07540"/>
+ <entry comment="" name="DeviceType_7961G" text="7961G" value="0x07542"/>
+ <entry comment="" name="DeviceType_7936" text="7936" value="0x07543"/>
+ <entry comment="" name="DeviceType_AnalogPhone" text="AnalogPhone" value="0x0754b"/>
+ <entry comment="" name="DeviceType_ISDNBRIPhone" text="ISDNBRIPhone" value="0x0754c"/>
+ <entry comment="" name="DeviceType_SCCPGwVirtualPhone" text="SCCPGwVirtualPhone" value="0x07550"/>
+ <entry comment="" name="DeviceType_IP_STE" text="IP_STE" value="0x07553"/>
+ <entry comment="Cisco 7910" name="DeviceType_Cisco_7910" text="Cisco 7910" value="0x00006"/>
+ <entry comment="Cisco 7925" name="DeviceType_Cisco_7925" text="Cisco 7925" value="0x001e4"/>
+ <entry comment="Cisco 7931" name="DeviceType_Cisco_7931" text="Cisco 7931" value="0x0015c"/>
+ <entry comment="Cisco 7935" name="DeviceType_Cisco_7935" text="Cisco 7935" value="0x00009"/>
+ <entry comment="Cisco 7940" name="DeviceType_Cisco_7940" text="Cisco 7940" value="0x00008"/>
+ <entry comment="Cisco 7961 GE" name="DeviceType_Cisco_7961_GE" text="Cisco 7961 GE" value="0x00134"/>
+ <entry comment="" name="DeviceType_7961G_GE" text="7961G_GE" value="0x00135"/>
+ <entry comment="Cisco 7985" name="DeviceType_Cisco_7985" text="Cisco 7985" value="0x0012e"/>
+ <entry comment="Nokia E Series" name="DeviceType_Nokia_E_Series" text="Nokia E Series" value="0x00113"/>
+ <entry comment="Cisco IP Communicator" name="DeviceType_Cisco_IP_Communicator" text="Cisco IP Communicator" value="0x07540"/>
+ <entry comment="Nokia ICC client" name="DeviceType_Nokia_ICC_client" text="Nokia ICC client" value="0x00178"/>
+ <entry comment="Cisco 6901" name="DeviceType_Cisco_6901" text="Cisco 6901" value="0x00223"/>
+ <entry comment="Cisco 6911" name="DeviceType_Cisco_6911" text="Cisco 6911" value="0x00224"/>
+ <entry comment="Cisco 6921" name="DeviceType_Cisco_6921" text="Cisco 6921" value="0x001ef"/>
+ <entry comment="Cisco 6941" name="DeviceType_Cisco_6941" text="Cisco 6941" value="0x001f0"/>
+ <entry comment="Cisco 6945" name="DeviceType_Cisco_6945" text="Cisco 6945" value="0x00234"/>
+ <entry comment="Cisco 6961" name="DeviceType_Cisco_6961" text="Cisco 6961" value="0x001f1"/>
+ <entry comment="Cisco 8941" name="DeviceType_Cisco_8941" text="Cisco 8941" value="0x0024a"/>
+ <entry comment="Cisco 8945" name="DeviceType_Cisco_8945" text="Cisco 8945" value="0x00249"/>
+ <entry comment="Cisco SPA 303G (1 line)" name="DeviceType_Cisco_SPA_303G" text="Cisco SPA 303G" value="0x1388b"/>
+ <entry comment="Cisco SPA 502G (1 line)" name="DeviceType_Cisco_SPA_502G" text="Cisco SPA 502G" value="0x13883"/>
+ <entry comment="Cisco SPA 504G (4 lines)" name="DeviceType_Cisco_SPA_504G" text="Cisco SPA 504G" value="0x13884"/>
+ <entry comment="Cisco SPA 509G (12 lines)" name="DeviceType_Cisco_SPA_509G" text="Cisco SPA 509G" value="0x13887"/>
+ <entry comment="Cisco SPA 521S" name="DeviceType_Cisco_SPA_521S" text="Cisco SPA 521S" value="0x13880"/>
+ <entry comment="Cisco SPA 525G (5 lines / color / wifi / bluetooth)" name="DeviceType_Cisco_SPA_525G" text="Cisco SPA 525G" value="0x13885"/>
+ <entry comment="Cisco SPA 525G2 (5 lines / color / wifi / bluetooth)" name="DeviceType_Cisco_SPA_525G2" text="Cisco SPA 525G2" value="0x13889"/>
+ <entry comment="Cisco 7914 AddOn" name="DeviceType_Cisco_7914_AddOn" text="Cisco 7914 AddOn" value="0x0007c"/>
+ <entry comment="Cisco 7915 AddOn (12 Buttons)" name="DeviceType_Cisco_7915_AddOn" text="Cisco 7915 AddOn" value="0x000e3"/>
+ <entry comment="Cisco 7915 AddOn (24 Buttons)" name="DeviceType_Cisco_7915_AddOn" text="Cisco 7915 AddOn" value="0x000e4"/>
+ <entry comment="Cisco 7916 AddOn (12 Buttons)" name="DeviceType_Cisco_7916_AddOn" text="Cisco 7916 AddOn" value="0x000e5"/>
+ <entry comment="Cisco 7916 AddOn (24 Buttons)" name="DeviceType_Cisco_7916_AddOn" text="Cisco 7916 AddOn" value="0x000e6"/>
+ </entries>
+ </enum>
+ <bitfield name="PhoneFeatures">
+ <entries>
+ <entry comment="" name="PhoneFeatures_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="PhoneFeatures_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="PhoneFeatures_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="PhoneFeatures_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="Supports UTF-8" name="PhoneFeatures_UTF8" text="UTF8Bit5" value="0x0010"/>
+ <entry comment="" name="PhoneFeatures_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="PhoneFeatures_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="Support Dynamic Messages" name="PhoneFeatures_DynamicMessages" text="DynamicMessages" value="0x0080"/>
+ <entry comment="" name="PhoneFeatures_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="Supports DTMF Type RFC2833" name="PhoneFeatures_RFC2833" text="RFC2833" value="0x0200"/>
+ <entry comment="" name="PhoneFeatures_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="PhoneFeatures_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="PhoneFeatures_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="PhoneFeatures_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="PhoneFeatures_Bit15" text="Bit15" value="0x4000"/>
+ <entry comment="Abbreviated Dial" name="PhoneFeatures_Abbreviated_Dial" text="AbbrevDial" value="0x8000"/>
+ </entries>
+ </bitfield>
+ <message comment="" direction="dev2pbx" dynamic="no" name="RegisterMessage" opcode="0x0001" status="no" type="RegistrationAndManagement">
+ <fields>
+ <struct comment="Station Identifier" longcomment="Device Name of this phone / appliance" name="sid" type="struct">
+ <fields>
+ <string comment="Device Name" name="DeviceName" size="16" type="char"/>
+ <integer comment="User Id" name="reserved_for_future_use" type="uint32"/>
+ <integer comment="Device Instance" name="instance" type="uint32"/>
+ </fields>
+ </struct>
+ <ip comment="IPv4 Address" name="stationIpAddr" type="ipv4"/>
+ <enum comment="Device Type" longcomment="Device Type of this phone / appliance" name="deviceType" subtype="DeviceType" type="uint32"/>
+ <integer comment="Maximum Number of Concurrent RTP Streams" longcomment="Indicates the maximum number of simultansous RTP duplex streams, which this client/appliance can handle." name="maxStreams" type="uint32"/>
+ </fields>
+ <fields size_gt="52">
+ <integer comment="Active RTP Streams" longcomment="Active RTP Streams at Registration" name="activeStreams" type="uint32"/>
+ <integer comment="Protocol Version" longcomment="Maximum Supported Protocol Version" name="protocolVer" type="uint16"/>
+ <bitfield comment="Features this device supports" name="PhoneFeatures" size="uint16" subtype="PhoneFeatures" type="bitfield">
+ <entries>
+ <entry comment="" name="PhoneFeatures_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="PhoneFeatures_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="PhoneFeatures_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="PhoneFeatures_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="Supports UTF-8" name="PhoneFeatures_UTF8" text="UTF8Bit5" value="0x0010"/>
+ <entry comment="" name="PhoneFeatures_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="PhoneFeatures_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="Support Dynamic Messages" name="PhoneFeatures_DynamicMessages" text="DynamicMessages" value="0x0080"/>
+ <entry comment="" name="PhoneFeatures_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="Supports DTMF Type RFC2833" name="PhoneFeatures_RFC2833" text="RFC2833" value="0x0200"/>
+ <entry comment="" name="PhoneFeatures_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="PhoneFeatures_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="PhoneFeatures_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="PhoneFeatures_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="PhoneFeatures_Bit15" text="Bit15" value="0x4000"/>
+ <entry comment="Abbreviated Dial" name="PhoneFeatures_Abbreviated_Dial" text="AbbrevDial" value="0x8000"/>
+ </entries>
+ </bitfield>
+ <integer comment="Maximum Number of Concurrent Conferences" longcomment="Indicates the maximum number of simultansous Conferences, which this client/appliance can handle" name="maxConferences" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="22" size_gt="100">
+ <integer comment="Active Conferences" longcomment="Active Conferences at Registration" name="activeConferences" type="uint32"/>
+ <ether comment="Mac Address" longcomment="Ethernet/Mac Address" name="macAddress" size="12" type="ether"/>
+ <integer comment="IPv4 Address Scope" name="ipV4AddressScope" type="uint32"/>
+ <integer comment="Maximum number of lines" name="maxNumberOfLines" type="uint32"/>
+ <ip comment="IPv5 Address" endianness="big" name="stationIpV6Addr" type="ipv6"/>
+ <integer comment="IPv6 Address Scope" name="ipV6AddressScope" type="uint32"/>
+ <string comment="Firmware Load Name" name="firmwareLoadName" size="32" type="char"/>
+ </fields>
+ </message>
+ <enum name="KeyPadButton">
+ <entries>
+ <entry comment="" name="KeyPadButton_Zero" text="Zero" value="0x0000"/>
+ <entry comment="" name="KeyPadButton_One" text="One" value="0x0001"/>
+ <entry comment="" name="KeyPadButton_Two" text="Two" value="0x0002"/>
+ <entry comment="" name="KeyPadButton_Three" text="Three" value="0x0003"/>
+ <entry comment="" name="KeyPadButton_Four" text="Four" value="0x0004"/>
+ <entry comment="" name="KeyPadButton_Five" text="Five" value="0x0005"/>
+ <entry comment="" name="KeyPadButton_Six" text="Six" value="0x0006"/>
+ <entry comment="" name="KeyPadButton_Seven" text="Seven" value="0x0007"/>
+ <entry comment="" name="KeyPadButton_Eight" text="Eight" value="0x0008"/>
+ <entry comment="" name="KeyPadButton_Nine" text="Nine" value="0x0009"/>
+ <entry comment="" name="KeyPadButton_A" text="A" value="0x000a"/>
+ <entry comment="" name="KeyPadButton_B" text="B" value="0x000b"/>
+ <entry comment="" name="KeyPadButton_C" text="C" value="0x000c"/>
+ <entry comment="" name="KeyPadButton_D" text="D" value="0x000d"/>
+ <entry comment="" name="KeyPadButton_Star" text="Star" value="0x000e"/>
+ <entry comment="" name="KeyPadButton_Pound" text="Pound" value="0x000f"/>
+ <entry comment="" name="KeyPadButton_Plus" text="Plus" value="0x0010"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="IpPortMessage" opcode="0x0002" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="RTP Media Port" name="rtpMediaPort" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="KeypadButtonMessage" opcode="0x0003" status="no" type="CallControl">
+ <fields>
+ <enum comment="KeyPad Button which was Pressed" name="kpButton" subtype="KeyPadButton" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="22" size_gt="8">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="EnblocCallMessage" opcode="0x0004" status="no" type="CallControl">
+ <fields>
+ <string comment="CalledPartyNumber" declare="yes" name="calledParty" size="VariableDirnumSize" type="char"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="DeviceStimulus">
+ <entries>
+ <entry comment="" name="DeviceStimulus_LastNumberRedial" text="LastNumberRedial" value="0x0001"/>
+ <entry comment="" name="DeviceStimulus_SpeedDial" text="SpeedDial" value="0x0002"/>
+ <entry comment="" name="DeviceStimulus_Hold" text="Hold" value="0x0003"/>
+ <entry comment="" name="DeviceStimulus_Transfer" text="Transfer" value="0x0004"/>
+ <entry comment="" name="DeviceStimulus_ForwardAll" text="ForwardAll" value="0x0005"/>
+ <entry comment="" name="DeviceStimulus_ForwardBusy" text="ForwardBusy" value="0x0006"/>
+ <entry comment="" name="DeviceStimulus_ForwardNoAnswer" text="ForwardNoAnswer" value="0x0007"/>
+ <entry comment="" name="DeviceStimulus_Display" text="Display" value="0x0008"/>
+ <entry comment="" name="DeviceStimulus_Line" text="Line" value="0x0009"/>
+ <entry comment="" name="DeviceStimulus_T120Chat" text="T120Chat" value="0x000a"/>
+ <entry comment="" name="DeviceStimulus_T120Whiteboard" text="T120Whiteboard" value="0x000b"/>
+ <entry comment="" name="DeviceStimulus_T120ApplicationSharing" text="T120ApplicationSharing" value="0x000c"/>
+ <entry comment="" name="DeviceStimulus_T120FileTransfer" text="T120FileTransfer" value="0x000d"/>
+ <entry comment="" name="DeviceStimulus_Video" text="Video" value="0x000e"/>
+ <entry comment="" name="DeviceStimulus_VoiceMail" text="VoiceMail" value="0x000f"/>
+ <entry comment="" name="DeviceStimulus_AnswerRelease" text="AnswerRelease" value="0x0010"/>
+ <entry comment="" name="DeviceStimulus_AutoAnswer" text="AutoAnswer" value="0x0011"/>
+ <entry comment="" name="DeviceStimulus_Select" text="Select" value="0x0012"/>
+ <entry comment="" name="DeviceStimulus_Privacy" text="Privacy" value="0x0013"/>
+ <entry comment="" name="DeviceStimulus_ServiceURL" text="ServiceURL" value="0x0014"/>
+ <entry comment="" name="DeviceStimulus_BLFSpeedDial" text="BLFSpeedDial" value="0x0015"/>
+ <entry comment="" name="DeviceStimulus_DPark" text="DPark" value="0x0016"/>
+ <entry comment="" name="DeviceStimulus_Intercom" text="Intercom" value="0x0017"/>
+ <entry comment="" name="DeviceStimulus_MaliciousCall" text="MaliciousCall" value="0x001b"/>
+ <entry comment="" name="DeviceStimulus_GenericAppB1" text="GenericAppB1" value="0x0021"/>
+ <entry comment="" name="DeviceStimulus_GenericAppB2" text="GenericAppB2" value="0x0022"/>
+ <entry comment="" name="DeviceStimulus_GenericAppB3" text="GenericAppB3" value="0x0023"/>
+ <entry comment="" name="DeviceStimulus_GenericAppB4" text="GenericAppB4" value="0x0024"/>
+ <entry comment="" name="DeviceStimulus_GenericAppB5" text="GenericAppB5" value="0x0025"/>
+ <entry comment="" name="DeviceStimulus_MeetMeConference" text="MeetMeConference" value="0x007b"/>
+ <entry comment="" name="DeviceStimulus_Conference" text="Conference" value="0x007d"/>
+ <entry comment="" name="DeviceStimulus_CallPark" text="CallPark" value="0x007e"/>
+ <entry comment="" name="DeviceStimulus_CallPickUp" text="CallPickUp" value="0x007f"/>
+ <entry comment="" name="DeviceStimulus_GroupCallPickUp" text="GroupCallPickUp" value="0x0080"/>
+ <entry comment="" name="DeviceStimulus_Mobility" text="Mobility" value="0x0081"/>
+ <entry comment="" name="DeviceStimulus_DoNotDisturb" text="DoNotDisturb" value="0x0082"/>
+ <entry comment="" name="DeviceStimulus_ConfList" text="ConfList" value="0x0083"/>
+ <entry comment="" name="DeviceStimulus_RemoveLastParticipant" text="RemoveLastParticipant" value="0x0084"/>
+ <entry comment="" name="DeviceStimulus_QRT" text="QRT" value="0x0085"/>
+ <entry comment="" name="DeviceStimulus_CallBack" text="CallBack" value="0x0086"/>
+ <entry comment="" name="DeviceStimulus_OtherPickup" text="OtherPickup" value="0x0087"/>
+ <entry comment="" name="DeviceStimulus_VideoMode" text="VideoMode" value="0x0088"/>
+ <entry comment="" name="DeviceStimulus_NewCall" text="NewCall" value="0x0089"/>
+ <entry comment="" name="DeviceStimulus_EndCall" text="EndCall" value="0x008a"/>
+ <entry comment="" name="DeviceStimulus_HLog" text="HLog" value="0x008b"/>
+ <entry comment="" name="DeviceStimulus_Queuing" text="Queuing" value="0x008f"/>
+ <entry boundscheck="max" comment="" name="DeviceStimulus_MaxStimulusValue" text="MaxStimulusValue" value="0x008f"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="StimulusMessage" opcode="0x0005" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="Device Stimulus" name="stimulus" subtype="DeviceStimulus" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="Stimulus Status" name="stimulusStatus" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="OffHookMessage" opcode="0x0006" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22" size_gt="4">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="OnHookMessage" opcode="0x0007" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22" size_gt="4">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="HookFlashMessage" opcode="0x0008" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ForwardStatReqMessage" opcode="0x0009" status="request" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="lineNumber" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="SpeedDialStatReqMessage" opcode="0x000a" status="request" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="speedDialNumber" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="LineStatReqMessage" opcode="0x000b" status="request" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="lineNumber" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ConfigStatReqMessage" opcode="0x000c" status="request" type="RegistrationAndManagement"/>
+ <message comment="" direction="dev2pbx" dynamic="no" name="TimeDateReqMessage" opcode="0x000d" status="no" type="RegistrationAndManagement"/>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ButtonTemplateReqMessage" opcode="0x000e" status="no" type="RegistrationAndManagement"/>
+ <message comment="" direction="dev2pbx" dynamic="no" name="VersionReqMessage" opcode="0x000f" status="no" type="RegistrationAndManagement"/>
+ <enum define="yes" name="Media_PayloadType">
+ <entries type="audio">
+ <entry comment="" name="Media_Payload_G711Alaw64k" text="Media_Payload_G711Alaw64k" value="0x0002"/>
+ <entry comment="" name="Media_Payload_G711Alaw56k" text="Media_Payload_G711Alaw56k" value="0x0003"/>
+ <entry comment="" name="Media_Payload_G711Ulaw64k" text="Media_Payload_G711Ulaw64k" value="0x0004"/>
+ <entry comment="" name="Media_Payload_G711Ulaw56k" text="Media_Payload_G711Ulaw56k" value="0x0005"/>
+ <entry comment="" name="Media_Payload_G722_64k" text="Media_Payload_G722_64k" value="0x0006"/>
+ <entry comment="" name="Media_Payload_G722_56k" text="Media_Payload_G722_56k" value="0x0007"/>
+ <entry comment="" name="Media_Payload_G722_48k" text="Media_Payload_G722_48k" value="0x0008"/>
+ <entry comment="" name="Media_Payload_G7231" text="Media_Payload_G7231" value="0x0009"/>
+ <entry comment="" name="Media_Payload_G728" text="Media_Payload_G728" value="0x000a"/>
+ <entry comment="" name="Media_Payload_G729" text="Media_Payload_G729" value="0x000b"/>
+ <entry comment="" name="Media_Payload_G729AnnexA" text="Media_Payload_G729AnnexA" value="0x000c"/>
+ <entry comment="" name="Media_Payload_G729AnnexB" text="Media_Payload_G729AnnexB" value="0x000f"/>
+ <entry comment="" name="Media_Payload_G729AnnexAwAnnexB" text="Media_Payload_G729AnnexAwAnnexB" value="0x0010"/>
+ <entry comment="" name="Media_Payload_GSM_Full_Rate" text="Media_Payload_GSM_Full_Rate" value="0x0012"/>
+ <entry comment="" name="Media_Payload_GSM_Half_Rate" text="Media_Payload_GSM_Half_Rate" value="0x0013"/>
+ <entry comment="" name="Media_Payload_GSM_Enhanced_Full_Rate" text="Media_Payload_GSM_Enhanced_Full_Rate" value="0x0014"/>
+ <entry comment="" name="Media_Payload_Wide_Band_256k" text="Media_Payload_Wide_Band_256k" value="0x0019"/>
+ <entry comment="" name="Media_Payload_Data64" text="Media_Payload_Data64" value="0x0020"/>
+ <entry comment="" name="Media_Payload_Data56" text="Media_Payload_Data56" value="0x0021"/>
+ <entry comment="" name="Media_Payload_G7221_32K" text="Media_Payload_G7221_32K" value="0x0028"/>
+ <entry comment="" name="Media_Payload_G7221_24K" text="Media_Payload_G7221_24K" value="0x0029"/>
+ <entry comment="" name="Media_Payload_AAC" text="Media_Payload_AAC" value="0x002a"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_128" text="Media_Payload_MP4ALATM_128" value="0x002b"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_64" text="Media_Payload_MP4ALATM_64" value="0x002c"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_56" text="Media_Payload_MP4ALATM_56" value="0x002d"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_48" text="Media_Payload_MP4ALATM_48" value="0x002e"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_32" text="Media_Payload_MP4ALATM_32" value="0x002f"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_24" text="Media_Payload_MP4ALATM_24" value="0x0030"/>
+ <entry comment="" name="Media_Payload_MP4ALATM_NA" text="Media_Payload_MP4ALATM_NA" value="0x0031"/>
+ <entry comment="" name="Media_Payload_GSM" text="Media_Payload_GSM" value="0x0050"/>
+ <entry comment="" name="Media_Payload_G726_32K" text="Media_Payload_G726_32K" value="0x0052"/>
+ <entry comment="" name="Media_Payload_G726_24K" text="Media_Payload_G726_24K" value="0x0053"/>
+ <entry comment="" name="Media_Payload_G726_16K" text="Media_Payload_G726_16K" value="0x0054"/>
+ <entry comment="" name="Media_Payload_ILBC" text="Media_Payload_ILBC" value="0x0056"/>
+ <entry comment="" name="Media_Payload_ISAC" text="Media_Payload_ISAC" value="0x0059"/>
+ <entry comment="" name="Media_Payload_AMR" text="Media_Payload_AMR" value="0x0061"/>
+ <entry comment="" name="Media_Payload_AMR_WB" text="Media_Payload_AMR_WB" value="0x0062"/>
+ </entries>
+ <entries type="video">
+ <entry comment="" name="Media_Payload_H261" text="Media_Payload_H261" value="0x0064"/>
+ <entry comment="" name="Media_Payload_H263" text="Media_Payload_H263" value="0x0065"/>
+ <entry comment="" name="Media_Payload_Vieo" text="Media_Payload_Vieo" value="0x0066"/>
+ <entry comment="" name="Media_Payload_H264" text="Media_Payload_H264" value="0x0067"/>
+ <entry comment="" name="Media_Payload_H264_SVC" text="Media_Payload_H264_SVC" value="0x0068"/>
+ <entry comment="" name="Media_Payload_T120" text="Media_Payload_T120" value="0x0069"/>
+ <entry comment="" name="Media_Payload_H224" text="Media_Payload_H224" value="0x006a"/>
+ <entry comment="" name="Media_Payload_T38Fax" text="Media_Payload_T38Fax" value="0x006b"/>
+ <entry comment="" name="Media_Payload_TOTE" text="Media_Payload_TOTE" value="0x006c"/>
+ <entry comment="" name="Media_Payload_H265" text="Media_Payload_H265" value="0x006d"/>
+ <entry comment="" name="Media_Payload_H264_UC" text="Media_Payload_H264_UC" value="0x006e"/>
+ <entry comment="" name="Media_Payload_XV150_MR_711U" text="Media_Payload_XV150_MR_711U" value="0x006f"/>
+ <entry comment="" name="Media_Payload_NSE_VBD_711U" text="Media_Payload_NSE_VBD_711U" value="0x0070"/>
+ <entry comment="" name="Media_Payload_XV150_MR_729A" text="Media_Payload_XV150_MR_729A" value="0x0071"/>
+ <entry comment="" name="Media_Payload_NSE_VBD_729A" text="Media_Payload_NSE_VBD_729A" value="0x0072"/>
+ <entry comment="" name="Media_Payload_H264_FEC" text="Media_Payload_H264_FEC" value="0x0073"/>
+ </entries>
+ <entries type="data">
+ <entry comment="" name="Media_Payload_Clear_Chan" text="Media_Payload_Clear_Chan" value="0x0078"/>
+ <entry comment="" name="Media_Payload_Universal_Xcoder" text="Media_Payload_Universal_Xcoder" value="0x00de"/>
+ <entry comment="" name="Media_Payload_RFC2833_DynPayload" text="Media_Payload_RFC2833_DynPayload" value="0x0101"/>
+ <entry comment="" name="Media_Payload_PassThrough" text="Media_Payload_PassThrough" value="0x0102"/>
+ <entry comment="" name="Media_Payload_Dynamic_Payload_PassThru" text="Media_Payload_Dynamic_Payload_PassThru" value="0x0103"/>
+ <entry comment="" name="Media_Payload_DTMF_OOB" text="Media_Payload_DTMF_OOB" value="0x0104"/>
+ <entry comment="" name="Media_Payload_Inband_DTMF_RFC2833" text="Media_Payload_Inband_DTMF_RFC2833" value="0x0105"/>
+ <entry comment="" name="Media_Payload_NoAudio" text="Media_Payload_NoAudio" value="0x012b"/>
+ <entry comment="" name="Media_Payload_v150_LC_ModemRelay" text="Media_Payload_v150_LC_ModemRelay" value="0x012c"/>
+ <entry comment="" name="Media_Payload_v150_LC_SPRT" text="Media_Payload_v150_LC_SPRT" value="0x012d"/>
+ <entry comment="" name="Media_Payload_v150_LC_SSE" text="Media_Payload_v150_LC_SSE" value="0x012e"/>
+ <entry comment="" name="Media_Payload_Max" text="Media_Payload_Max" value="0x012f"/>
+ </entries>
+ </enum>
+ <enum name="Media_G723BitRate">
+ <entries>
+ <entry comment="" name="Media_G723BRate_5_3" text="Media_G723BRate_5_3" value="0x0001"/>
+ <entry comment="" name="Media_G723BRate_6_3" text="Media_G723BRate_6_3" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="CapabilitiesRes" opcode="0x0010" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" declare="yes" name="capCount" type="uint32"/>
+ <struct comment="" maxsize="18" name="caps" size_fieldname="capCount" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="maxFramesPerPacket" type="uint32"/>
+ <union comment="" lookup_guide="payloadCapability" name="PAYLOADS" subtype="MediaCapabilityUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_ModemRelay" name="modemRelay" type="struct">
+ <fields>
+ <integer comment="" name="capAndVer" type="uint32"/>
+ <integer comment="" name="modAnd2833" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SPRT" name="sprtPayload" type="struct">
+ <fields>
+ <integer comment="" name="chan0MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxPayload" type="uint16"/>
+ <integer comment="" name="chan3MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxWindow" type="uint16"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SSE" name="sse" type="struct">
+ <fields>
+ <integer comment="" name="standard" type="uint32"/>
+ <integer comment="" name="vendor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ServerReqMessage" opcode="0x0012" status="no" type="RegistrationAndManagement"/>
+ <enum name="DeviceAlarmSeverity">
+ <entries>
+ <entry comment="" name="DeviceAlarmSeverity_Critical" text="Critical" value="0x0000"/>
+ <entry comment="" name="DeviceAlarmSeverity_Major" text="Major" value="0x0007"/>
+ <entry comment="" name="DeviceAlarmSeverity_Minor" text="Minor" value="0x0008"/>
+ <entry comment="" name="DeviceAlarmSeverity_Warning" text="Warning" value="0x0001"/>
+ <entry comment="" name="DeviceAlarmSeverity_Marginal" text="Marginal" value="0x000a"/>
+ <entry comment="" name="DeviceAlarmSeverity_Unknown" text="Unknown" value="0x0004"/>
+ <entry comment="" name="DeviceAlarmSeverity_Informational" text="Informational" value="0x0002"/>
+ <entry comment="" name="DeviceAlarmSeverity_TraceInfo" text="TraceInfo" value="0x0014"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="AlarmMessage" opcode="0x0020" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="alarmSeverity" subtype="DeviceAlarmSeverity" type="uint32"/>
+ <string comment="" name="text" size="80" type="char"/>
+ <integer comment="" name="parm1" type="uint32"/>
+ <integer comment="" name="parm2" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="MulticastMediaReceptionStatus">
+ <entries>
+ <entry comment="" name="MulticastMediaReceptionStatus_Ok" text="Ok" value="0x0000"/>
+ <entry comment="" name="MulticastMediaReceptionStatus_Error" text="Error" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="MulticastMediaReceptionAckMessage" opcode="0x0021" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="receptionStatus" subtype="MulticastMediaReceptionStatus" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="MediaStatus">
+ <entries>
+ <entry comment="" name="MediaStatus_Ok" text="Ok" value="0x0000"/>
+ <entry comment="" name="MediaStatus_Unknown" text="Unknown" value="0x0001"/>
+ <entry comment="" name="MediaStatus_NotEnoughChannels" text="NotEnoughChannels" value="0x0002"/>
+ <entry comment="" name="MediaStatus_CodecTooComplex" text="CodecTooComplex" value="0x0003"/>
+ <entry comment="" name="MediaStatus_InvalidPartyID" text="InvalidPartyID" value="0x0004"/>
+ <entry comment="" name="MediaStatus_InvalidCallRef" text="InvalidCallRef" value="0x0005"/>
+ <entry comment="" name="MediaStatus_InvalidCodec" text="InvalidCodec" value="0x0006"/>
+ <entry comment="" name="MediaStatus_InvalidPacketSize" text="InvalidPacketSize" value="0x0007"/>
+ <entry comment="" name="MediaStatus_OutOfSockets" text="OutOfSockets" value="0x0008"/>
+ <entry comment="" name="MediaStatus_EncoderOrDecoderFailed" text="EncoderOrDecoderFailed" value="0x0009"/>
+ <entry comment="" name="MediaStatus_InvalidDynamicPayloadType" text="InvalidDynamicPayloadType" value="0x000a"/>
+ <entry comment="" name="MediaStatus_RequestedIpAddrTypeUnAvailable" text="RequestedIpAddrTypeUnAvailable" value="0x000b"/>
+ <entry comment="" name="MediaStatus_DeviceOnHook" text="DeviceOnHook" value="0x00ff"/>
+ </entries>
+ </enum>
+ <enum define="yes" name="IpAddrType">
+ <entries>
+ <entry comment="" name="IpAddrType_Ipv4" text="v4" value="0x0000"/>
+ <entry comment="" name="IpAddrType_Ipv6" text="v6" value="0x0001"/>
+ <entry comment="" name="IpAddrType_Ipv4_v6" text="v4_v6" value="0x0002"/>
+ <entry comment="" name="IpAddrType_Ip_Invalid" text="_Invalid" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="OpenReceiveChannelAckMessage" opcode="0x0022" status="no" type="MediaControl">
+ <fields>
+ <enum comment="" name="openReceiveChannelStatus" subtype="MediaStatus" type="uint32"/>
+ <ipv4or6 comment="" name="ipAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="portNumber" subtype="uint32" type="ipport" use_param="ipAddr"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="22" size_gt="20">
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="StatsProcessingType">
+ <entries>
+ <entry comment="" name="StatsProcessingType_clearStats" text="clearStats" value="0x0000"/>
+ <entry comment="" name="StatsProcessingType_doNotClearStats" text="doNotClearStats" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ConnectionStatisticsResMessage" opcode="0x0023" status="no" type="CallControl">
+ <fields>
+ <string comment="Directory Number" declare="yes" name="directoryNum" size="VariableDirnumSize" type="char"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="Stats Processing Mode" longcomment="What do do after you send the stats" name="statsProcessingMode" subtype="StatsProcessingType" type="uint32"/>
+ <integer comment="Number of Packets Sent" name="numberPacketsSent" type="uint32"/>
+ <integer comment="Number of Octets Sent" name="numberOctetsSent" type="uint32"/>
+ <integer comment="Number of Packets Received" name="numberPacketsReceived" type="uint32"/>
+ <integer comment="Number of Octets Received" name="numberOctetsReceived" type="uint32"/>
+ <integer comment="Number of Packets Lost" name="numberPacketsLost" type="uint32"/>
+ <integer comment="Amount of Jitter" name="jitter" type="uint32"/>
+ <integer comment="Amount of Latency" name="latency" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="22" size_gt="64">
+ <integer comment="Data Size" declare="yes" name="dataSize" type="uint32"/>
+ <string comment="Statistics" longcomment="variable field size (max: 600]" maxsize="600" name="data" size_fieldname="dataSize" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="OffHookWithCgpnMessage" opcode="0x0024" status="no" type="CallControl">
+ <fields>
+ <string comment="Calling Party Number" declare="yes" name="callingPartyNumber" size="VariableDirnumSize" type="char"/>
+ <string comment="Calling Party Voicemail Box Number" declare="yes" name="cgpnVoiceMailbox" size="VariableDirnumSize" type="char"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="SoftKeySetReqMessage" opcode="0x0025" status="no" type="RegistrationAndManagement"/>
+ <enum name="SoftKeySet">
+ <entries>
+ <entry name="SoftKeySet_OnHook" text="On Hook" value="0"/>
+ <entry name="SoftKeySet_Connected" text="Connected" value="1"/>
+ <entry name="SoftKeySet_OnHold" text="On Hold" value="2"/>
+ <entry name="SoftKeySet_Ringin" text="Ring In" value="3"/>
+ <entry name="SoftKeySet_OffHook" text="Off Hook" value="4"/>
+ <entry name="SoftKeySet_ConnTrans" text="Connected Transfeable" value="5"/>
+ <entry name="SoftKeySet_DigitsFoll" text="Digits Following" value="6"/>
+ <entry name="SoftKeySet_ConnConf" text="Connected Conference" value="7"/>
+ <entry name="SoftKeySet_RingOut" text="Ring Out" value="8"/>
+ <entry name="SoftKeySet_OffHookFeat" text="OffHook with Features" value="9"/>
+ <entry name="SoftKeySet_InUseHint" text="In Use Hint" value="10"/>
+ <entry name="SoftKeySet_OnHookStealable" text="On Hook with Stealable Call" value="11"/>
+ </entries>
+ </enum>
+ <enum name="SoftKeyEvent">
+ <entries>
+ <entry name="SoftKeyEvent_Redial" text="Redial" value="1"/>
+ <entry name="SoftKeyEvent_NewCall" text="NewCall" value="2"/>
+ <entry name="SoftKeyEvent_Hold" text="Hold" value="3"/>
+ <entry name="SoftKeyEvent_Transfer" text="Transfer" value="4"/>
+ <entry name="SoftKeyEvent_CfwdAll" text="CfwdAll" value="5"/>
+ <entry name="SoftKeyEvent_CfwdBusy" text="CfwdBusy" value="6"/>
+ <entry name="SoftKeyEvent_CfwdNoAnswer" text="CfwdNoAnswer" value="7"/>
+ <entry name="SoftKeyEvent_BackSpace" text="BackSpace" value="8"/>
+ <entry name="SoftKeyEvent_EndCall" text="EndCall" value="9"/>
+ <entry name="SoftKeyEvent_Resume" text="Resume" value="10"/>
+ <entry name="SoftKeyEvent_Answer" text="Answer" value="11"/>
+ <entry name="SoftKeyEvent_Info" text="Info" value="12"/>
+ <entry name="SoftKeyEvent_Confrn" text="Confrn" value="13"/>
+ <entry name="SoftKeyEvent_Park" text="Park" value="14"/>
+ <entry name="SoftKeyEvent_Join" text="Join" value="15"/>
+ <entry name="SoftKeyEvent_MeetMe" text="MeetMe" value="16"/>
+ <entry name="SoftKeyEvent_PickUp" text="PickUp" value="17"/>
+ <entry name="SoftKeyEvent_GrpPickup" text="GrpPickup" value="18"/>
+ <entry name="SoftKeyEvent_Your current options" text="Your current options" value="19"/>
+ <entry name="SoftKeyEvent_Off Hook" text="Off Hook" value="20"/>
+ <entry name="SoftKeyEvent_On Hook" text="On Hook" value="21"/>
+ <entry name="SoftKeyEvent_Ring out" text="Ring out" value="22"/>
+ <entry name="SoftKeyEvent_From " text="From " value="23"/>
+ <entry name="SoftKeyEvent_Connected" text="Connected" value="24"/>
+ <entry name="SoftKeyEvent_Busy" text="Busy" value="25"/>
+ <entry name="SoftKeyEvent_Line In Use" text="Line In Use" value="26"/>
+ <entry name="SoftKeyEvent_Call Waiting" text="Call Waiting" value="27"/>
+ <entry name="SoftKeyEvent_Call Transfer" text="Call Transfer" value="28"/>
+ <entry name="SoftKeyEvent_Call Park" text="Call Park" value="29"/>
+ <entry name="SoftKeyEvent_Call Proceed" text="Call Proceed" value="30"/>
+ <entry name="SoftKeyEvent_In Use Remote" text="In Use Remote" value="31"/>
+ <entry name="SoftKeyEvent_Enter number" text="Enter number" value="32"/>
+ <entry name="SoftKeyEvent_Call park At" text="Call park At" value="33"/>
+ <entry name="SoftKeyEvent_Primary Only" text="Primary Only" value="34"/>
+ <entry name="SoftKeyEvent_Temp Fail" text="Temp Fail" value="35"/>
+ <entry name="SoftKeyEvent_You Have a VoiceMail" text="You Have a VoiceMail" value="36"/>
+ <entry name="SoftKeyEvent_Forwarded to" text="Forwarded to" value="37"/>
+ <entry name="SoftKeyEvent_Can Not Complete Conference" text="Can Not Complete Conference" value="38"/>
+ <entry name="SoftKeyEvent_No Conference Bridge" text="No Conference Bridge" value="39"/>
+ <entry name="SoftKeyEvent_Can Not Hold Primary Control" text="Can Not Hold Primary Control" value="40"/>
+ <entry name="SoftKeyEvent_Invalid Conference Participant" text="Invalid Conference Participant" value="41"/>
+ <entry name="SoftKeyEvent_In Conference Already" text="In Conference Already" value="42"/>
+ <entry name="SoftKeyEvent_No Participant Info" text="No Participant Info" value="43"/>
+ <entry name="SoftKeyEvent_Exceed Maximum Parties" text="Exceed Maximum Parties" value="44"/>
+ <entry name="SoftKeyEvent_Key Is Not Active" text="Key Is Not Active" value="45"/>
+ <entry name="SoftKeyEvent_Error No License" text="Error No License" value="46"/>
+ <entry name="SoftKeyEvent_Error DBConfig" text="Error DBConfig" value="47"/>
+ <entry name="SoftKeyEvent_Error Database" text="Error Database" value="48"/>
+ <entry name="SoftKeyEvent_Error Pass Limit" text="Error Pass Limit" value="49"/>
+ <entry name="SoftKeyEvent_Error Unknown" text="Error Unknown" value="50"/>
+ <entry name="SoftKeyEvent_Error Mismatch" text="Error Mismatch" value="51"/>
+ <entry name="SoftKeyEvent_Conference" text="Conference" value="52"/>
+ <entry name="SoftKeyEvent_Park Number" text="Park Number" value="53"/>
+ <entry name="SoftKeyEvent_Private" text="Private" value="54"/>
+ <entry name="SoftKeyEvent_Not Enough Bandwidth" text="Not Enough Bandwidth" value="55"/>
+ <entry name="SoftKeyEvent_Unknown Number" text="Unknown Number" value="56"/>
+ <entry name="SoftKeyEvent_RmLstC" text="RmLstC" value="57"/>
+ <entry name="SoftKeyEvent_Voicemail" text="Voicemail" value="58"/>
+ <entry name="SoftKeyEvent_ImmDiv" text="ImmDiv" value="59"/>
+ <entry name="SoftKeyEvent_Intrcpt" text="Intrcpt" value="60"/>
+ <entry name="SoftKeyEvent_SetWtch" text="SetWtch" value="61"/>
+ <entry name="SoftKeyEvent_TrnsfVM" text="TrnsfVM" value="62"/>
+ <entry name="SoftKeyEvent_DND" text="DND" value="63"/>
+ <entry name="SoftKeyEvent_DivAll" text="DivAll" value="64"/>
+ <entry name="SoftKeyEvent_CallBack" text="CallBack" value="65"/>
+ <entry name="SoftKeyEvent_Network congestion,rerouting" text="Network congestion,rerouting" value="66"/>
+ <entry name="SoftKeyEvent_Barge" text="Barge" value="67"/>
+ <entry name="SoftKeyEvent_Failed to setup Barge" text="Failed to setup Barge" value="68"/>
+ <entry name="SoftKeyEvent_Another Barge exists" text="Another Barge exists" value="69"/>
+ <entry name="SoftKeyEvent_Incompatible device type" text="Incompatible device type" value="70"/>
+ <entry name="SoftKeyEvent_No Park Number Available" text="No Park Number Available" value="71"/>
+ <entry name="SoftKeyEvent_CallPark Reversion" text="CallPark Reversion" value="72"/>
+ <entry name="SoftKeyEvent_Service is not Active" text="Service is not Active" value="73"/>
+ <entry name="SoftKeyEvent_High Traffic Try Again Later" text="High Traffic Try Again Later" value="74"/>
+ <entry name="SoftKeyEvent_QRT" text="QRT" value="75"/>
+ <entry name="SoftKeyEvent_MCID" text="MCID" value="76"/>
+ <entry name="SoftKeyEvent_DirTrfr" text="DirTrfr" value="77"/>
+ <entry name="SoftKeyEvent_Select" text="Select" value="78"/>
+ <entry name="SoftKeyEvent_ConfList" text="ConfList" value="79"/>
+ <entry name="SoftKeyEvent_iDivert" text="iDivert" value="80"/>
+ <entry name="SoftKeyEvent_cBarge" text="cBarge" value="81"/>
+ <entry name="SoftKeyEvent_Can Not Complete Transfer" text="Can Not Complete Transfer" value="82"/>
+ <entry name="SoftKeyEvent_Can Not Join Calls" text="Can Not Join Calls" value="83"/>
+ <entry name="SoftKeyEvent_Mcid Successful" text="Mcid Successful" value="84"/>
+ <entry name="SoftKeyEvent_Number Not Configured" text="Number Not Configured" value="85"/>
+ <entry name="SoftKeyEvent_Security Error" text="Security Error" value="86"/>
+ <entry name="SoftKeyEvent_Video Bandwidth Unavailable" text="Video Bandwidth Unavailable" value="87"/>
+ <entry name="SoftKeyEvent_Video Mode" text="Video Mode" value="88"/>
+ <entry name="SoftKeyEvent_Record" text="Record" value="202"/>
+ <entry name="SoftKeyEvent_Dial" text="Dial" value="201"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="SoftKeyEventMessage" opcode="0x0026" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <enum comment="SoftKey Event" name="softKeyEvent" subtype="SoftKeyEvent" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="UnRegReasonCode">
+ <entries>
+ <entry comment="" name="UnRegReasonCode_Unknown" text="Unknown" value="0x0000"/>
+ <entry comment="" name="UnRegReasonCode_PowerSaveMode" text="PowerSaveMode" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="UnregisterMessage" opcode="0x0027" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="unRegReasonCode" subtype="UnRegReasonCode" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="SoftKeyTemplateReqMessage" opcode="0x0028" status="no" type="RegistrationAndManagement"/>
+ <message comment="" direction="dev2pbx" dynamic="no" name="RegisterTokenReq" opcode="0x0029" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="sid" type="struct">
+ <fields>
+ <string comment="Device Name" name="DeviceName" size="16" type="char"/>
+ <integer comment="User Id" name="reserved_for_future_use" type="uint32"/>
+ <integer comment="Device Instance" name="instance" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="stationIpAddr" type="uint32"/>
+ <enum comment="" name="deviceType" subtype="DeviceType" type="uint32"/>
+ <ipv4or6 comment="" endianness="big" name="stationIpV6Addr" size="16" subtype="uint8" type="ipaddr"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="MediaTransmissionFailureMessage" opcode="0x002a" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="remoteIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="HeadsetMode">
+ <entries>
+ <entry comment="" name="HeadsetMode_On" text="On" value="0x0001"/>
+ <entry comment="" name="HeadsetMode_Off" text="Off" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="HeadsetStatusMessage" opcode="0x002b" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="headsetStatus" subtype="HeadsetMode" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="MediaResourceNotificationMessage" opcode="0x002c" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="deviceType" subtype="DeviceType" type="uint32"/>
+ <integer comment="" name="numberOfInServiceStreams" type="uint32"/>
+ <integer comment="" name="maxStreamsPerConf" type="uint32"/>
+ <integer comment="" name="numberOfOutOfServiceStreams" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="RegisterAvailableLinesMessage" opcode="0x002d" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="maxNumOfAvailLines" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="SequenceFlag">
+ <entries>
+ <entry comment="" name="Sequence_First" text="First" value="0x0000"/>
+ <entry comment="" name="Sequence_More" text="More" value="0x0001"/>
+ <entry comment="" name="Sequence_Last" text="Last" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="DeviceToUserDataMessage" opcode="0x002e" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="deviceToUserData" subtype="UserAndDeviceData" type="struct">
+ <fields>
+ <integer comment="" name="applicationID" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="transactionID" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <xml comment="" maxsize="2000" name="data" size_fieldname="dataLength" type="xml"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="DeviceToUserDataResponseMessage" opcode="0x002f" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="deviceToUserData" subtype="UserAndDeviceData" type="struct">
+ <fields>
+ <integer comment="" name="applicationID" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="transactionID" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <xml comment="" maxsize="2000" name="data" size_fieldname="dataLength" type="xml"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="Layout">
+ <entries>
+ <entry comment="" name="Layout_NoLayout" text="NoLayout" value="0x0000"/>
+ <entry comment="" name="Layout_OneByOne" text="OneByOne" value="0x0001"/>
+ <entry comment="" name="Layout_OneByTwo" text="OneByTwo" value="0x0002"/>
+ <entry comment="" name="Layout_TwoByTwo" text="TwoByTwo" value="0x0003"/>
+ <entry comment="" name="Layout_TwoByTwo3Alt1" text="TwoByTwo3Alt1" value="0x0004"/>
+ <entry comment="" name="Layout_TwoByTwo3Alt2" text="TwoByTwo3Alt2" value="0x0005"/>
+ <entry comment="" name="Layout_ThreeByThree" text="ThreeByThree" value="0x0006"/>
+ <entry comment="" name="Layout_ThreeByThree6Alt1" text="ThreeByThree6Alt1" value="0x0007"/>
+ <entry comment="" name="Layout_ThreeByThree6Alt2" text="ThreeByThree6Alt2" value="0x0008"/>
+ <entry comment="" name="Layout_ThreeByThree4Alt1" text="ThreeByThree4Alt1" value="0x0009"/>
+ <entry comment="" name="Layout_ThreeByThree4Alt2" text="ThreeByThree4Alt2" value="0x000a"/>
+ </entries>
+ </enum>
+ <enum name="TransmitOrReceive">
+ <entries>
+ <entry comment="" name="TransmitOrReceive_None" text="None" value="0x0000"/>
+ <entry comment="" name="TransmitOrReceive_ReceiveOnly" text="ReceiveOnly" value="0x0001"/>
+ <entry comment="" name="TransmitOrReceive_TransmitOnly" text="TransmitOnly" value="0x0002"/>
+ <entry comment="" name="TransmitOrReceive_Both" text="Both" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="UpdateCapabilitiesMessage" opcode="0x0030" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" declare="yes" name="audioCapCount" type="uint32"/>
+ <integer comment="" declare="yes" name="videoCapCount" type="uint32"/>
+ <integer comment="" declare="yes" name="dataCapCount" type="uint32"/>
+ <integer comment="" name="RTPPayloadFormat" type="uint32"/>
+ <integer comment="" declare="yes" name="customPictureFormatCount" type="uint32"/>
+ <struct comment="" maxsize="6" name="customPictureFormat" size_fieldname="customPictureFormatCount" subtype="CustomPictureFormat" type="struct">
+ <fields>
+ <integer comment="" name="pictureWidth" type="uint32"/>
+ <integer comment="" name="pictureHeight" type="uint32"/>
+ <integer comment="" name="pixelAspectRatio" type="uint32"/>
+ <integer comment="" name="clockConversionCode" type="uint32"/>
+ <integer comment="" name="clockDivisor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="confResources" subtype="ConfResources" type="struct">
+ <fields>
+ <integer comment="" name="activeStreamsOnRegistration" type="uint32"/>
+ <integer comment="" name="maxBW" type="uint32"/>
+ <integer comment="" declare="yes" name="serviceResourceCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="serviceResource" size_fieldname="serviceResourceCount" subtype="ServiceResource" type="struct">
+ <fields>
+ <integer comment="" declare="yes" name="layoutCount" type="uint32"/>
+ <enum comment="" maxsize="5" name="layouts" size_fieldname="layoutCount" subtype="Layout" type="uint32"/>
+ <integer comment="" name="serviceNum" type="uint32"/>
+ <integer comment="" name="maxStreams" type="uint32"/>
+ <integer comment="" name="maxConferences" type="uint32"/>
+ <integer comment="Active Conference" longcomment="Active conference at Registration" name="activeConferenceOnRegistration" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="18" name="audiocaps" size_fieldname="audioCapCount" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="maxFramesPerPacket" type="uint32"/>
+ <union comment="" lookup_guide="payloadCapability" name="PAYLOADS" subtype="MediaCapabilityUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_ModemRelay" name="modemRelay" type="struct">
+ <fields>
+ <integer comment="" name="capAndVer" type="uint32"/>
+ <integer comment="" name="modAnd2833" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SPRT" name="sprtPayload" type="struct">
+ <fields>
+ <integer comment="" name="chan0MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxPayload" type="uint16"/>
+ <integer comment="" name="chan3MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxWindow" type="uint16"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SSE" name="sse" type="struct">
+ <fields>
+ <integer comment="" name="standard" type="uint32"/>
+ <integer comment="" name="vendor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="10" name="vidCaps" size_fieldname="videoCapCount" subtype="VideoCapability" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <enum comment="" name="videoCapabilityDirection" subtype="TransmitOrReceive" type="uint32"/>
+ <integer comment="" declare="yes" name="levelPreferenceCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="levelPreference" size_fieldname="levelPreferenceCount" subtype="LevelPreference" type="struct">
+ <fields>
+ <integer comment="" name="transmitPreference" type="uint32"/>
+ <integer comment="" name="format" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ <integer comment="" name="minBitRate" type="uint32"/>
+ <integer comment="" name="MPI" type="uint32"/>
+ <integer comment="" name="serviceNumber" type="uint32"/>
+ </fields>
+ </struct>
+ <union comment="" lookup_guide="payloadCapability" name="capability" subtype="VideoCapabilityUnion" type="union">
+ <fields>
+ <struct comment="" lookup_eq="Media_Payload_H261" name="h261VideoCapability" subtype="H261VideoCapability" type="struct">
+ <fields>
+ <integer comment="Temporal spatial trade off capability" name="temporalSpatialTradeOffCapability" type="uint32"/>
+ <integer comment="Still Image Transmission" name="stillImageTransmission" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H263" name="h263VideoCapability" subtype="H263VideoCapability" type="struct">
+ <fields>
+ <bitfield comment="H263 Capability BitField" name="h263_capability_bitfield" size="uint32" subtype="Generic_Bitfield_32" type="bitfield">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ <entry comment="" name="Generic_Bitfield_Bit17" text="Bit17" value="0x10000"/>
+ <entry comment="" name="Generic_Bitfield_Bit18" text="Bit18" value="0x20000"/>
+ <entry comment="" name="Generic_Bitfield_Bit19" text="Bit19" value="0x40000"/>
+ <entry comment="" name="Generic_Bitfield_Bit20" text="Bit20" value="0x80000"/>
+ <entry comment="" name="Generic_Bitfield_Bit21" text="Bit21" value="0x100000"/>
+ <entry comment="" name="Generic_Bitfield_Bit22" text="Bit22" value="0x200000"/>
+ <entry comment="" name="Generic_Bitfield_Bit23" text="Bit23" value="0x400000"/>
+ <entry comment="" name="Generic_Bitfield_Bit24" text="Bit24" value="0x800000"/>
+ <entry comment="" name="Generic_Bitfield_Bit25" text="Bit25" value="0x1000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit26" text="Bit26" value="0x2000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit27" text="Bit27" value="0x4000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit28" text="Bit28" value="0x8000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit29" text="Bit29" value="0x10000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit30" text="Bit30" value="0x20000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit31" text="Bit31" value="0x40000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit32" text="Bit32" value="0x80000000"/>
+ </entries>
+ </bitfield>
+ <integer comment="" name="annexNandWFutureUse" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_Vieo" name="vieoVideoCapability" subtype="VieoVideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="modelNumber" type="uint32"/>
+ <integer comment="" name="bandwidth" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="5" name="dataCaps" size_fieldname="dataCapCount" subtype="DataApplicationCapability" type="struct">
+ <fields>
+ <enum comment="" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <enum comment="" name="dataCapabilityDirection" subtype="TransmitOrReceive" type="uint32"/>
+ <integer comment="" name="protocolDependentData" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="OpenReceiveChanStatus">
+ <entries>
+ <entry comment="" name="OpenReceiveChanStatus_Ok" text="Ok" value="0x0000"/>
+ <entry comment="" name="OpenReceiveChanStatus_Error" text="Error" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="OpenMultiMediaReceiveChannelAckMessage" opcode="0x0031" status="no" type="MediaControl">
+ <fields>
+ <enum comment="" name="multimediaOpenReceiveChannelStatus" subtype="OpenReceiveChanStatus" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="ipAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="portNumber" subtype="uint32" type="ipport" use_param="ipAddr"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ClearConferenceMessage" opcode="0x0032" status="no" type="Conference">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="serviceNum" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="ServiceURLStatReqMessage" opcode="0x0033" status="request" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="serviceURLIndex" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="FeatureStatReqMessage" opcode="0x0034" status="request" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="featureIndex" type="uint32"/>
+ <integer comment="" name="featureCapabilities" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="CreateConfResult">
+ <entries>
+ <entry comment="" name="CreateConfResult_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="CreateConfResult_ResourceNotAvailable" text="ResourceNotAvailable" value="0x0001"/>
+ <entry comment="" name="CreateConfResult_ConferenceAlreadyExist" text="ConferenceAlreadyExist" value="0x0002"/>
+ <entry comment="" name="CreateConfResult_SystemErr" text="SystemErr" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="CreateConferenceResMessage" opcode="0x0035" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <enum comment="" name="result" subtype="CreateConfResult" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <string comment="variable field size (max: 2000]" maxsize="2000" name="passThruData" size_fieldname="dataLength" type="char"/>
+ </fields>
+ </message>
+ <enum name="DeleteConfResult">
+ <entries>
+ <entry comment="" name="DeleteConfResult_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="DeleteConfResult_ConferenceNotExist" text="ConferenceNotExist" value="0x0001"/>
+ <entry comment="" name="DeleteConfResult_SystemErr" text="SystemErr" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="DeleteConferenceResMessage" opcode="0x0036" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <enum comment="" name="delete_conf_result" subtype="DeleteConfResult" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="ModifyConfResult">
+ <entries>
+ <entry comment="" name="ModifyConfResult_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="ModifyConfResult_ResourceNotAvailable" text="ResourceNotAvailable" value="0x0001"/>
+ <entry comment="" name="ModifyConfResult_ConferenceNotExist" text="ConferenceNotExist" value="0x0002"/>
+ <entry comment="" name="ModifyConfResult_InvalidParameter" text="InvalidParameter" value="0x0003"/>
+ <entry comment="" name="ModifyConfResult_MoreActiveCallsThanReserved" text="MoreActiveCallsThanReserved" value="0x0004"/>
+ <entry comment="" name="ModifyConfResult_InvalidResourceType" text="InvalidResourceType" value="0x0005"/>
+ <entry comment="" name="ModifyConfResult_SystemErr" text="SystemErr" value="0x0006"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="ModifyConferenceResMessage" opcode="0x0037" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <enum comment="" name="modify_conf_result" subtype="ModifyConfResult" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <string comment="variable field size (max: 2000]" maxsize="2000" name="passThruData" size_fieldname="dataLength" type="char"/>
+ </fields>
+ </message>
+ <enum name="AddParticipantResult">
+ <entries>
+ <entry comment="" name="AddParticipantResult_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="AddParticipantResult_ResourceNotAvailable" text="ResourceNotAvailable" value="0x0001"/>
+ <entry comment="" name="AddParticipantResult_ConferenceNotExist" text="ConferenceNotExist" value="0x0002"/>
+ <entry comment="" name="AddParticipantResult_DuplicateCallRef" text="DuplicateCallRef" value="0x0003"/>
+ <entry comment="" name="AddParticipantResult_SystemErr" text="SystemErr" value="0x0004"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AddParticipantResMessage" opcode="0x0038" status="no" type="IntraCCM">
+ <fields alignment="4" beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="add_participant_result" subtype="AddParticipantResult" type="uint32"/>
+ <string comment="" name="bridgeParticipantId" size="257" type="char"/>
+ </fields>
+ </message>
+ <enum name="ResourceType">
+ <entries>
+ <entry comment="" name="ResourceType_Conference" text="Conference" value="0x0000"/>
+ <entry comment="" name="ResourceType_IVR" text="IVR" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AuditConferenceResMessage" opcode="0x0039" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="last" type="uint32"/>
+ <integer comment="" declare="yes" name="numberOfEntries" type="uint32"/>
+ <struct comment="" maxsize="32" name="conferenceEntry" size_fieldname="numberOfEntries" subtype="AuditConferenceEntry" type="struct">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <enum comment="" name="resourceType" subtype="ResourceType" type="uint32"/>
+ <integer comment="" name="numberOfReservedParticipants" type="uint32"/>
+ <integer comment="" name="numberOfActiveParticipants" type="uint32"/>
+ <integer comment="" name="appID" type="uint32"/>
+ <string comment="" name="appConfID" size="32" type="char"/>
+ <string comment="" name="appData" size="24" type="char"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="AuditParticipantResult">
+ <entries>
+ <entry comment="" name="AuditParticipantResult_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="AuditParticipantResult_ConferenceNotExist" text="ConferenceNotExist" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AuditParticipantResMessage" opcode="0x0040" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="audit_participant_result" subtype="AuditParticipantResult" type="uint32"/>
+ <integer comment="" name="last" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" declare="yes" name="numberOfEntries" type="uint32"/>
+ <integer comment="" maxsize="256" name="participantEntry" size_fieldname="numberOfEntries" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="DeviceToUserDataMessageVersion1" opcode="0x0041" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="deviceToUserDataVersion1" subtype="UserAndDeviceDataVersion1" type="struct">
+ <fields>
+ <integer comment="" name="applicationID" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="transactionID" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <enum comment="" name="sequenceFlag" subtype="SequenceFlag" type="uint32"/>
+ <integer comment="" name="displayPriority" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="appInstanceID" type="uint32"/>
+ <integer comment="" name="routingID" type="uint32"/>
+ <xml comment="" maxsize="2000" name="data" size_fieldname="dataLength" type="xml"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="DeviceToUserDataResponseMessageVersion1" opcode="0x0042" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="deviceToUserDataVersion1" subtype="UserAndDeviceDataVersion1" type="struct">
+ <fields>
+ <integer comment="" name="applicationID" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="transactionID" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <enum comment="" name="sequenceFlag" subtype="SequenceFlag" type="uint32"/>
+ <integer comment="" name="displayPriority" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="appInstanceID" type="uint32"/>
+ <integer comment="" name="routingID" type="uint32"/>
+ <xml comment="" maxsize="2000" name="data" size_fieldname="dataLength" type="xml"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="UpdateCapabilitiesV2Message" opcode="0x0043" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" declare="yes" name="audioCapCount" type="uint32"/>
+ <integer comment="" declare="yes" name="videoCapCount" type="uint32"/>
+ <integer comment="" declare="yes" name="dataCapCount" type="uint32"/>
+ <integer comment="" name="RTPPayloadFormat" type="uint32"/>
+ <integer comment="" declare="yes" name="customPictureFormatCount" type="uint32"/>
+ <struct comment="" maxsize="6" name="customPictureFormat" size_fieldname="customPictureFormatCount" subtype="CustomPictureFormat" type="struct">
+ <fields>
+ <integer comment="" name="pictureWidth" type="uint32"/>
+ <integer comment="" name="pictureHeight" type="uint32"/>
+ <integer comment="" name="pixelAspectRatio" type="uint32"/>
+ <integer comment="" name="clockConversionCode" type="uint32"/>
+ <integer comment="" name="clockDivisor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="confResources" subtype="ConfResources" type="struct">
+ <fields>
+ <integer comment="" name="activeStreamsOnRegistration" type="uint32"/>
+ <integer comment="" name="maxBW" type="uint32"/>
+ <integer comment="" declare="yes" name="serviceResourceCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="serviceResource" size_fieldname="serviceResourceCount" subtype="ServiceResource" type="struct">
+ <fields>
+ <integer comment="" declare="yes" name="layoutCount" type="uint32"/>
+ <enum comment="" maxsize="5" name="layouts" size_fieldname="layoutCount" subtype="Layout" type="uint32"/>
+ <integer comment="" name="serviceNum" type="uint32"/>
+ <integer comment="" name="maxStreams" type="uint32"/>
+ <integer comment="" name="maxConferences" type="uint32"/>
+ <integer comment="Active Conference" longcomment="Active conference at Registration" name="activeConferenceOnRegistration" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="18" name="audiocaps" size_fieldname="audioCapCount" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="maxFramesPerPacket" type="uint32"/>
+ <union comment="" lookup_guide="payloadCapability" name="PAYLOADS" subtype="MediaCapabilityUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_ModemRelay" name="modemRelay" type="struct">
+ <fields>
+ <integer comment="" name="capAndVer" type="uint32"/>
+ <integer comment="" name="modAnd2833" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SPRT" name="sprtPayload" type="struct">
+ <fields>
+ <integer comment="" name="chan0MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxPayload" type="uint16"/>
+ <integer comment="" name="chan3MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxWindow" type="uint16"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SSE" name="sse" type="struct">
+ <fields>
+ <integer comment="" name="standard" type="uint32"/>
+ <integer comment="" name="vendor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="10" name="vidCaps" size_fieldname="videoCapCount" subtype="VideoCapabilityV2" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <enum comment="" name="videoCapabilityDirection" subtype="TransmitOrReceive" type="uint32"/>
+ <integer comment="" declare="yes" name="levelPreferenceCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="levelPreference" size_fieldname="levelPreferenceCount" subtype="LevelPreference" type="struct">
+ <fields>
+ <integer comment="" name="transmitPreference" type="uint32"/>
+ <integer comment="" name="format" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ <integer comment="" name="minBitRate" type="uint32"/>
+ <integer comment="" name="MPI" type="uint32"/>
+ <integer comment="" name="serviceNumber" type="uint32"/>
+ </fields>
+ </struct>
+ <union comment="" lookup_guide="payloadCapability" name="capability" subtype="VideoCapabilityV2Union" type="union">
+ <fields>
+ <struct comment="" lookup_eq="Media_Payload_H261" name="h261VideoCapability" subtype="H261VideoCapability" type="struct">
+ <fields>
+ <integer comment="Temporal spatial trade off capability" name="temporalSpatialTradeOffCapability" type="uint32"/>
+ <integer comment="Still Image Transmission" name="stillImageTransmission" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H263" name="h263VideoCapability" subtype="H263VideoCapability" type="struct">
+ <fields>
+ <bitfield comment="H263 Capability BitField" name="h263_capability_bitfield" size="uint32" subtype="Generic_Bitfield_32" type="bitfield">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ <entry comment="" name="Generic_Bitfield_Bit17" text="Bit17" value="0x10000"/>
+ <entry comment="" name="Generic_Bitfield_Bit18" text="Bit18" value="0x20000"/>
+ <entry comment="" name="Generic_Bitfield_Bit19" text="Bit19" value="0x40000"/>
+ <entry comment="" name="Generic_Bitfield_Bit20" text="Bit20" value="0x80000"/>
+ <entry comment="" name="Generic_Bitfield_Bit21" text="Bit21" value="0x100000"/>
+ <entry comment="" name="Generic_Bitfield_Bit22" text="Bit22" value="0x200000"/>
+ <entry comment="" name="Generic_Bitfield_Bit23" text="Bit23" value="0x400000"/>
+ <entry comment="" name="Generic_Bitfield_Bit24" text="Bit24" value="0x800000"/>
+ <entry comment="" name="Generic_Bitfield_Bit25" text="Bit25" value="0x1000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit26" text="Bit26" value="0x2000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit27" text="Bit27" value="0x4000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit28" text="Bit28" value="0x8000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit29" text="Bit29" value="0x10000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit30" text="Bit30" value="0x20000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit31" text="Bit31" value="0x40000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit32" text="Bit32" value="0x80000000"/>
+ </entries>
+ </bitfield>
+ <integer comment="" name="annexNandWFutureUse" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H264" name="h264VideoCapability" subtype="H264VideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="profile" type="uint32"/>
+ <integer comment="" name="level" type="uint32"/>
+ <integer comment="" name="customMaxMBPS" type="uint32"/>
+ <integer comment="" name="customMaxFS" type="uint32"/>
+ <integer comment="" name="customMaxDPB" type="uint32"/>
+ <integer comment="" name="customMaxBRandCPB" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_Vieo" name="vieoVideoCapability" subtype="VieoVideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="modelNumber" type="uint32"/>
+ <integer comment="" name="bandwidth" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="5" name="dataCaps" size_fieldname="dataCapCount" subtype="DataApplicationCapability" type="struct">
+ <fields>
+ <enum comment="" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <enum comment="" name="dataCapabilityDirection" subtype="TransmitOrReceive" type="uint32"/>
+ <integer comment="" name="protocolDependentData" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="Media_Encryption_Capability">
+ <entries>
+ <entry comment="" name="Media_Encryption_Capability_NotEncryptionCapable" text="NotEncryptionCapable" value="0x0000"/>
+ <entry comment="" name="Media_Encryption_Capability_EncryptionCapable" text="EncryptionCapable" value="0x0001"/>
+ </entries>
+ </enum>
+ <enum name="IpAddrMode">
+ <entries>
+ <entry comment="" name="IpAddrMode_ModeIpv4" text="ModeIpv4" value="0x0000"/>
+ <entry comment="" name="IpAddrMode_ModeIpv6" text="ModeIpv6" value="0x0001"/>
+ <entry comment="" name="IpAddrMode_ModeIpv4AndIpv6" text="ModeIpv4AndIpv6" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="yes" name="UpdateCapabilitiesV3Message" opcode="0x0044" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" declare="yes" name="audioCapCount" type="uint32"/>
+ <integer comment="" declare="yes" name="videoCapCount" type="uint32"/>
+ <integer comment="" declare="yes" name="dataCapCount" type="uint32"/>
+ <integer comment="" name="RTPPayloadFormat" type="uint32"/>
+ <integer comment="" declare="yes" name="customPictureFormatCount" type="uint32"/>
+ <struct comment="" maxsize="6" name="customPictureFormat" size_fieldname="customPictureFormatCount" subtype="CustomPictureFormat" type="struct">
+ <fields>
+ <integer comment="" name="pictureWidth" type="uint32"/>
+ <integer comment="" name="pictureHeight" type="uint32"/>
+ <integer comment="" name="pixelAspectRatio" type="uint32"/>
+ <integer comment="" name="clockConversionCode" type="uint32"/>
+ <integer comment="" name="clockDivisor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="confResources" subtype="ConfResources" type="struct">
+ <fields>
+ <integer comment="" name="activeStreamsOnRegistration" type="uint32"/>
+ <integer comment="" name="maxBW" type="uint32"/>
+ <integer comment="" declare="yes" name="serviceResourceCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="serviceResource" size_fieldname="serviceResourceCount" subtype="ServiceResource" type="struct">
+ <fields>
+ <integer comment="" declare="yes" name="layoutCount" type="uint32"/>
+ <enum comment="" maxsize="5" name="layouts" size_fieldname="layoutCount" subtype="Layout" type="uint32"/>
+ <integer comment="" name="serviceNum" type="uint32"/>
+ <integer comment="" name="maxStreams" type="uint32"/>
+ <integer comment="" name="maxConferences" type="uint32"/>
+ <integer comment="Active Conference" longcomment="Active conference at Registration" name="activeConferenceOnRegistration" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="18" name="audiocaps" size_fieldname="audioCapCount" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="maxFramesPerPacket" type="uint32"/>
+ <union comment="" lookup_guide="payloadCapability" name="PAYLOADS" subtype="MediaCapabilityUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_ModemRelay" name="modemRelay" type="struct">
+ <fields>
+ <integer comment="" name="capAndVer" type="uint32"/>
+ <integer comment="" name="modAnd2833" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SPRT" name="sprtPayload" type="struct">
+ <fields>
+ <integer comment="" name="chan0MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxPayload" type="uint16"/>
+ <integer comment="" name="chan3MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxWindow" type="uint16"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_v150_LC_SSE" name="sse" type="struct">
+ <fields>
+ <integer comment="" name="standard" type="uint32"/>
+ <integer comment="" name="vendor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="10" name="vidCaps" size_fieldname="videoCapCount" subtype="VideoCapabilityV3" type="struct">
+ <fields>
+ <enum comment="" declare="yes" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <enum comment="" name="videoCapabilityDirection" subtype="TransmitOrReceive" type="uint32"/>
+ <integer comment="" declare="yes" name="levelPreferenceCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="levelPreference" size_fieldname="levelPreferenceCount" subtype="LevelPreference" type="struct">
+ <fields>
+ <integer comment="" name="transmitPreference" type="uint32"/>
+ <integer comment="" name="format" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ <integer comment="" name="minBitRate" type="uint32"/>
+ <integer comment="" name="MPI" type="uint32"/>
+ <integer comment="" name="serviceNumber" type="uint32"/>
+ </fields>
+ </struct>
+ <enum comment="" name="encryptionCapability" subtype="Media_Encryption_Capability" type="uint32"/>
+ <union comment="" lookup_guide="payloadCapability" name="capability" subtype="VideoCapabilityV3Union" type="union">
+ <fields>
+ <struct comment="" lookup_eq="Media_Payload_H261" name="h261VideoCapability" subtype="H261VideoCapability" type="struct">
+ <fields>
+ <integer comment="Temporal spatial trade off capability" name="temporalSpatialTradeOffCapability" type="uint32"/>
+ <integer comment="Still Image Transmission" name="stillImageTransmission" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H263" name="h263VideoCapability" subtype="H263VideoCapability" type="struct">
+ <fields>
+ <bitfield comment="H263 Capability BitField" name="h263_capability_bitfield" size="uint32" subtype="Generic_Bitfield_32" type="bitfield">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ <entry comment="" name="Generic_Bitfield_Bit17" text="Bit17" value="0x10000"/>
+ <entry comment="" name="Generic_Bitfield_Bit18" text="Bit18" value="0x20000"/>
+ <entry comment="" name="Generic_Bitfield_Bit19" text="Bit19" value="0x40000"/>
+ <entry comment="" name="Generic_Bitfield_Bit20" text="Bit20" value="0x80000"/>
+ <entry comment="" name="Generic_Bitfield_Bit21" text="Bit21" value="0x100000"/>
+ <entry comment="" name="Generic_Bitfield_Bit22" text="Bit22" value="0x200000"/>
+ <entry comment="" name="Generic_Bitfield_Bit23" text="Bit23" value="0x400000"/>
+ <entry comment="" name="Generic_Bitfield_Bit24" text="Bit24" value="0x800000"/>
+ <entry comment="" name="Generic_Bitfield_Bit25" text="Bit25" value="0x1000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit26" text="Bit26" value="0x2000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit27" text="Bit27" value="0x4000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit28" text="Bit28" value="0x8000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit29" text="Bit29" value="0x10000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit30" text="Bit30" value="0x20000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit31" text="Bit31" value="0x40000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit32" text="Bit32" value="0x80000000"/>
+ </entries>
+ </bitfield>
+ <integer comment="" name="annexNandWFutureUse" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H264" name="h264VideoCapability" subtype="H264VideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="profile" type="uint32"/>
+ <integer comment="" name="level" type="uint32"/>
+ <integer comment="" name="customMaxMBPS" type="uint32"/>
+ <integer comment="" name="customMaxFS" type="uint32"/>
+ <integer comment="" name="customMaxDPB" type="uint32"/>
+ <integer comment="" name="customMaxBRandCPB" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_Vieo" name="vieoVideoCapability" subtype="VieoVideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="modelNumber" type="uint32"/>
+ <integer comment="" name="bandwidth" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ <enum comment="" name="ipAddressingMode" subtype="IpAddrMode" type="uint32"/>
+ </fields>
+ <fields beginversion="16" endversion="22">
+ <enum comment="" name="ipAddressingMode" subtype="IpAddrMode" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" maxsize="5" name="dataCaps" size_fieldname="dataCapCount" subtype="DataApplicationCapabilityV2" type="struct">
+ <fields>
+ <enum comment="" name="payloadCapability" subtype="Media_PayloadType" type="uint32"/>
+ <enum comment="" name="dataCapabilityDirection" subtype="TransmitOrReceive" type="uint32"/>
+ <integer comment="" name="protocolDependentData" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ <enum comment="" name="encryptionCapability" subtype="Media_Encryption_Capability" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="MediaType">
+ <entries>
+ <entry comment="" name="MediaType_Invalid" text="MediaType_Invalid" value="0x0000"/>
+ <entry comment="" name="MediaType_Audio" text="MediaType_Audio" value="0x0001"/>
+ <entry comment="" name="MediaType_Main_Video" text="MediaType_Main_Video" value="0x0002"/>
+ <entry comment="" name="MediaType_FECC" text="MediaType_FECC" value="0x0003"/>
+ <entry comment="" name="MediaType_Presentation_Video" text="MediaType_Presentation_Video" value="0x0004"/>
+ <entry comment="" name="MediaType_DataApp_BFCP" text="MediaType_DataApp_BFCP" value="0x0005"/>
+ <entry comment="" name="MediaType_DataApp_IXChannel" text="MediaType_DataApp_IXChannel" value="0x0006"/>
+ <entry comment="" name="MediaType_T38" text="MediaType_T38" value="0x0007"/>
+ <entry comment="" name="MediaType_Max" text="MediaType_Max" value="0x0008"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="PortResMessage" opcode="0x0045" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="ipAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="portNumber" subtype="uint32" type="ipport" use_param="ipAddr"/>
+ <integer comment="" name="RTCPPortNumber" type="uint32"/>
+ </fields>
+ <fields beginversion="19" endversion="22">
+ <enum comment="" name="mediaType" subtype="MediaType" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="RSVPDirection">
+ <entries>
+ <entry comment="" name="RSVPDirection_SEND" text="SEND" value="0x0001"/>
+ <entry comment="" name="RSVPDirection_RECV" text="RECV" value="0x0002"/>
+ <entry comment="" name="RSVPDirection_SENDRECV" text="SENDRECV" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="QoSResvNotifyMessage" opcode="0x0046" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <enum comment="" name="direction" subtype="RSVPDirection" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="QoSErrorCode">
+ <entries>
+ <entry comment="" name="QOS_CAUSE_RESERVATION_TIMEOUT" text="QOS_CAUSE_RESERVATION_TIMEOUT" value="0x0000"/>
+ <entry comment="" name="QOS_CAUSE_PATH_FAIL" text="QOS_CAUSE_PATH_FAIL" value="0x0001"/>
+ <entry comment="" name="QOS_CAUSE_RESV_FAIL" text="QOS_CAUSE_RESV_FAIL" value="0x0002"/>
+ <entry comment="" name="QOS_CAUSE_LISTEN_FAIL" text="QOS_CAUSE_LISTEN_FAIL" value="0x0003"/>
+ <entry comment="" name="QOS_CAUSE_RESOURCE_UNAVAILABLE" text="QOS_CAUSE_RESOURCE_UNAVAILABLE" value="0x0004"/>
+ <entry comment="" name="QOS_CAUSE_LISTEN_TIMEOUT" text="QOS_CAUSE_LISTEN_TIMEOUT" value="0x0005"/>
+ <entry comment="" name="QOS_CAUSE_RESV_RETRIES_FAIL" text="QOS_CAUSE_RESV_RETRIES_FAIL" value="0x0006"/>
+ <entry comment="" name="QOS_CAUSE_PATH_RETRIES_FAIL" text="QOS_CAUSE_PATH_RETRIES_FAIL" value="0x0007"/>
+ <entry comment="" name="QOS_CAUSE_RESV_PREEMPTION" text="QOS_CAUSE_RESV_PREEMPTION" value="0x0008"/>
+ <entry comment="" name="QOS_CAUSE_PATH_PREEMPTION" text="QOS_CAUSE_PATH_PREEMPTION" value="0x0009"/>
+ <entry comment="" name="QOS_CAUSE_RESV_MODIFY_FAIL" text="QOS_CAUSE_RESV_MODIFY_FAIL" value="0x000a"/>
+ <entry comment="" name="QOS_CAUSE_PATH_MODIFY_FAIL" text="QOS_CAUSE_PATH_MODIFY_FAIL" value="0x000b"/>
+ <entry comment="" name="QOS_CAUSE_RESV_TEAR" text="QOS_CAUSE_RESV_TEAR" value="0x000c"/>
+ </entries>
+ </enum>
+ <enum name="RSVPErrorCode">
+ <entries>
+ <entry comment="" name="RSVPErrorCode_CONFIRM" text="CONFIRM" value="0x0000"/>
+ <entry comment="" name="RSVPErrorCode_ADMISSION" text="ADMISSION" value="0x0001"/>
+ <entry comment="" name="RSVPErrorCode_ADMINISTRATIVE" text="ADMINISTRATIVE" value="0x0002"/>
+ <entry comment="" name="RSVPErrorCode_NO_PATH_INFORMATION" text="NO_PATH_INFORMATION" value="0x0003"/>
+ <entry comment="" name="RSVPErrorCode_NO_SENDER_INFORMATION" text="NO_SENDER_INFORMATION" value="0x0004"/>
+ <entry comment="" name="RSVPErrorCode_CONFLICTING_STYLE" text="CONFLICTING_STYLE" value="0x0005"/>
+ <entry comment="" name="RSVPErrorCode_UNKNOWN_STYLE" text="UNKNOWN_STYLE" value="0x0006"/>
+ <entry comment="" name="RSVPErrorCode_CONFLICTING_DST_PORTS" text="CONFLICTING_DST_PORTS" value="0x0007"/>
+ <entry comment="" name="RSVPErrorCode_CONFLICTING_SRC_PORTS" text="CONFLICTING_SRC_PORTS" value="0x0008"/>
+ <entry comment="" name="RSVPErrorCode_SERVICE_PREEMPTED" text="SERVICE_PREEMPTED" value="0x000c"/>
+ <entry comment="" name="RSVPErrorCode_UNKNOWN_OBJECT_CLASS" text="UNKNOWN_OBJECT_CLASS" value="0x000d"/>
+ <entry comment="" name="RSVPErrorCode_UNKNOWN_CLASS_TYPE" text="UNKNOWN_CLASS_TYPE" value="0x000e"/>
+ <entry comment="" name="RSVPErrorCode_API" text="API" value="0x0014"/>
+ <entry comment="" name="RSVPErrorCode_TRAFFIC" text="TRAFFIC" value="0x0015"/>
+ <entry comment="" name="RSVPErrorCode_TRAFFIC_SYSTEM" text="TRAFFIC_SYSTEM" value="0x0016"/>
+ <entry comment="" name="RSVPErrorCode_SYSTEM" text="SYSTEM" value="0x0017"/>
+ <entry comment="" name="RSVPErrorCode_ROUTING_PROBLEM" text="ROUTING_PROBLEM" value="0x0018"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="QoSErrorNotifyMessage" opcode="0x0047" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <enum comment="" name="direction" subtype="RSVPDirection" type="uint32"/>
+ <enum comment="" name="errorCode" subtype="QoSErrorCode" type="uint32"/>
+ <integer comment="" name="failureNodeIpAddr" type="uint32"/>
+ <enum comment="" name="rsvpErrorCode" subtype="RSVPErrorCode" type="uint32"/>
+ <integer comment="" name="rsvpErrorSubCodeVal" type="uint32"/>
+ <integer comment="" name="rsvpErrorFlag" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="SubscriptionFeatureID">
+ <entries>
+ <entry comment="" name="SubscriptionFeatureID_BLF" text="BLF" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="SubscriptionStatReqMessage" opcode="0x0048" status="request" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="transactionID" type="uint32"/>
+ <enum comment="" name="featureID" subtype="SubscriptionFeatureID" type="uint32"/>
+ <integer comment="" name="timer" type="uint32"/>
+ <string comment="" name="subscriptionID" size="256" type="char"/>
+ </fields>
+ </message>
+ <enum name="MediaPathID">
+ <entries>
+ <entry comment="" name="MediaPathID_Headset" text="Headset" value="0x0001"/>
+ <entry comment="" name="MediaPathID_Handset" text="Handset" value="0x0002"/>
+ <entry comment="" name="MediaPathID_Speaker" text="Speaker" value="0x0003"/>
+ </entries>
+ </enum>
+ <enum name="MediaPathEvent">
+ <entries>
+ <entry comment="" name="MediaPathEvent_On" text="On" value="0x0001"/>
+ <entry comment="" name="MediaPathEvent_Off" text="Off" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="MediaPathEventMessage" opcode="0x0049" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="mediaPathID" subtype="MediaPathID" type="uint32"/>
+ <enum comment="" name="mediaPathEvent" subtype="MediaPathEvent" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="MediaPathCapabilities">
+ <entries>
+ <entry comment="" name="MediaPathCapabilities_Enable" text="Enable" value="0x0001"/>
+ <entry comment="" name="MediaPathCapabilities_Disable" text="Disable" value="0x0002"/>
+ <entry comment="" name="MediaPathCapabilities_Monitor" text="Monitor" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="dev2pbx" dynamic="no" name="MediaPathCapabilityMessage" opcode="0x004a" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="mediaPathID" subtype="MediaPathID" type="uint32"/>
+ <enum comment="" name="mediaPathCapabilities" subtype="MediaPathCapabilities" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="MwiNotificationMessage" opcode="0x004c" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <string comment="" name="mwiTargetNumber" size="25" type="char"/>
+ <string comment="" name="mwiControlNumber" size="25" type="char"/>
+ <integer comment="" name="areMessagesWaiting" type="uint32"/>
+ <struct comment="" name="totalVmCounts" subtype="MwiMessageCounts" type="struct">
+ <fields>
+ <integer comment="" name="numNewMsgs" type="uint32"/>
+ <integer comment="" name="numOldMsgs" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="priorityVmCounts" subtype="MwiMessageCounts" type="struct">
+ <fields>
+ <integer comment="" name="numNewMsgs" type="uint32"/>
+ <integer comment="" name="numOldMsgs" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="totalFaxCounts" subtype="MwiMessageCounts" type="struct">
+ <fields>
+ <integer comment="" name="numNewMsgs" type="uint32"/>
+ <integer comment="" name="numOldMsgs" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="priorityFaxCounts" subtype="MwiMessageCounts" type="struct">
+ <fields>
+ <integer comment="" name="numNewMsgs" type="uint32"/>
+ <integer comment="" name="numOldMsgs" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="RegisterAckMessage" opcode="0x0081" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="keepAliveInterval" type="uint32"/>
+ <string comment="" name="dateTemplate" size="6" type="char"/>
+ <integer comment="" name="alignmentPadding" type="uint16"/>
+ <integer comment="" name="secondaryKeepAliveInterval" type="uint32"/>
+ <integer comment="" name="maxProtocolVer" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="DeviceTone">
+ <entries>
+ <entry comment="" name="DeviceTone_Silence" text="Silence" value="0x0000"/>
+ <entry comment="" name="DeviceTone_Dtmf1" text="Dtmf1" value="0x0001"/>
+ <entry comment="" name="DeviceTone_Dtmf2" text="Dtmf2" value="0x0002"/>
+ <entry comment="" name="DeviceTone_Dtmf3" text="Dtmf3" value="0x0003"/>
+ <entry comment="" name="DeviceTone_Dtmf4" text="Dtmf4" value="0x0004"/>
+ <entry comment="" name="DeviceTone_Dtmf5" text="Dtmf5" value="0x0005"/>
+ <entry comment="" name="DeviceTone_Dtmf6" text="Dtmf6" value="0x0006"/>
+ <entry comment="" name="DeviceTone_Dtmf7" text="Dtmf7" value="0x0007"/>
+ <entry comment="" name="DeviceTone_Dtmf8" text="Dtmf8" value="0x0008"/>
+ <entry comment="" name="DeviceTone_Dtmf9" text="Dtmf9" value="0x0009"/>
+ <entry comment="" name="DeviceTone_Dtmf0" text="Dtmf0" value="0x000a"/>
+ <entry comment="" name="DeviceTone_DtmfStar" text="DtmfStar" value="0x000e"/>
+ <entry comment="" name="DeviceTone_DtmfPound" text="DtmfPound" value="0x000f"/>
+ <entry comment="" name="DeviceTone_DtmfA" text="DtmfA" value="0x0010"/>
+ <entry comment="" name="DeviceTone_DtmfB" text="DtmfB" value="0x0011"/>
+ <entry comment="" name="DeviceTone_DtmfC" text="DtmfC" value="0x0012"/>
+ <entry comment="" name="DeviceTone_DtmfD" text="DtmfD" value="0x0013"/>
+ <entry comment="" name="DeviceTone_InsideDialTone" text="InsideDialTone" value="0x0021"/>
+ <entry comment="" name="DeviceTone_OutsideDialTone" text="OutsideDialTone" value="0x0022"/>
+ <entry comment="" name="DeviceTone_LineBusyTone" text="LineBusyTone" value="0x0023"/>
+ <entry comment="" name="DeviceTone_AlertingTone" text="AlertingTone" value="0x0024"/>
+ <entry comment="" name="DeviceTone_ReorderTone" text="ReorderTone" value="0x0025"/>
+ <entry comment="" name="DeviceTone_RecorderWarningTone" text="RecorderWarningTone" value="0x0026"/>
+ <entry comment="" name="DeviceTone_RecorderDetectedTone" text="RecorderDetectedTone" value="0x0027"/>
+ <entry comment="" name="DeviceTone_RevertingTone" text="RevertingTone" value="0x0028"/>
+ <entry comment="" name="DeviceTone_ReceiverOffHookTone" text="ReceiverOffHookTone" value="0x0029"/>
+ <entry comment="" name="DeviceTone_MessageWaitingIndicatorTone" text="MessageWaitingIndicatorTone" value="0x002a"/>
+ <entry comment="" name="DeviceTone_NoSuchNumberTone" text="NoSuchNumberTone" value="0x002b"/>
+ <entry comment="" name="DeviceTone_BusyVerificationTone" text="BusyVerificationTone" value="0x002c"/>
+ <entry comment="" name="DeviceTone_CallWaitingTone" text="CallWaitingTone" value="0x002d"/>
+ <entry comment="" name="DeviceTone_ConfirmationTone" text="ConfirmationTone" value="0x002e"/>
+ <entry comment="" name="DeviceTone_CampOnIndicationTone" text="CampOnIndicationTone" value="0x002f"/>
+ <entry comment="" name="DeviceTone_RecallDialTone" text="RecallDialTone" value="0x0030"/>
+ <entry comment="" name="DeviceTone_ZipZip" text="ZipZip" value="0x0031"/>
+ <entry comment="" name="DeviceTone_Zip" text="Zip" value="0x0032"/>
+ <entry comment="" name="DeviceTone_BeepBonk" text="BeepBonk" value="0x0033"/>
+ <entry comment="" name="DeviceTone_MusicTone" text="MusicTone" value="0x0034"/>
+ <entry comment="" name="DeviceTone_HoldTone" text="HoldTone" value="0x0035"/>
+ <entry comment="" name="DeviceTone_TestTone" text="TestTone" value="0x0036"/>
+ <entry comment="" name="DeviceTone_MonitorWarningTone" text="MonitorWarningTone" value="0x0038"/>
+ <entry comment="" name="DeviceTone_SecureWarningTone" text="SecureWarningTone" value="0x0039"/>
+ <entry comment="" name="DeviceTone_AddCallWaiting" text="AddCallWaiting" value="0x0040"/>
+ <entry comment="" name="DeviceTone_PriorityCallWait" text="PriorityCallWait" value="0x0041"/>
+ <entry comment="" name="DeviceTone_RecallDial" text="RecallDial" value="0x0042"/>
+ <entry comment="" name="DeviceTone_BargIn" text="BargIn" value="0x0043"/>
+ <entry comment="" name="DeviceTone_DistinctAlert" text="DistinctAlert" value="0x0044"/>
+ <entry comment="" name="DeviceTone_PriorityAlert" text="PriorityAlert" value="0x0045"/>
+ <entry comment="" name="DeviceTone_ReminderRing" text="ReminderRing" value="0x0046"/>
+ <entry comment="" name="DeviceTone_PrecedenceRingBack" text="PrecedenceRingBack" value="0x0047"/>
+ <entry comment="" name="DeviceTone_PreemptionTone" text="PreemptionTone" value="0x0048"/>
+ <entry comment="" name="DeviceTone_NonSecureWarningTone" text="NonSecureWarningTone" value="0x0049"/>
+ <entry comment="" name="DeviceTone_MF1" text="MF1" value="0x0050"/>
+ <entry comment="" name="DeviceTone_MF2" text="MF2" value="0x0051"/>
+ <entry comment="" name="DeviceTone_MF3" text="MF3" value="0x0052"/>
+ <entry comment="" name="DeviceTone_MF4" text="MF4" value="0x0053"/>
+ <entry comment="" name="DeviceTone_MF5" text="MF5" value="0x0054"/>
+ <entry comment="" name="DeviceTone_MF6" text="MF6" value="0x0055"/>
+ <entry comment="" name="DeviceTone_MF7" text="MF7" value="0x0056"/>
+ <entry comment="" name="DeviceTone_MF8" text="MF8" value="0x0057"/>
+ <entry comment="" name="DeviceTone_MF9" text="MF9" value="0x0058"/>
+ <entry comment="" name="DeviceTone_MF0" text="MF0" value="0x0059"/>
+ <entry comment="" name="DeviceTone_MFKP1" text="MFKP1" value="0x005a"/>
+ <entry comment="" name="DeviceTone_MFST" text="MFST" value="0x005b"/>
+ <entry comment="" name="DeviceTone_MFKP2" text="MFKP2" value="0x005c"/>
+ <entry comment="" name="DeviceTone_MFSTP" text="MFSTP" value="0x005d"/>
+ <entry comment="" name="DeviceTone_MFST3P" text="MFST3P" value="0x005e"/>
+ <entry comment="" name="DeviceTone_MILLIWATT" text="MILLIWATT" value="0x005f"/>
+ <entry comment="" name="DeviceTone_MILLIWATTTEST" text="MILLIWATTTEST" value="0x0060"/>
+ <entry comment="" name="DeviceTone_HIGHTONE" text="HIGHTONE" value="0x0061"/>
+ <entry comment="" name="DeviceTone_FLASHOVERRIDE" text="FLASHOVERRIDE" value="0x0062"/>
+ <entry comment="" name="DeviceTone_FLASH" text="FLASH" value="0x0063"/>
+ <entry comment="" name="DeviceTone_PRIORITY" text="PRIORITY" value="0x0064"/>
+ <entry comment="" name="DeviceTone_IMMEDIATE" text="IMMEDIATE" value="0x0065"/>
+ <entry comment="" name="DeviceTone_PREAMPWARN" text="PREAMPWARN" value="0x0066"/>
+ <entry comment="" name="DeviceTone_2105HZ" text="2105HZ" value="0x0067"/>
+ <entry comment="" name="DeviceTone_2600HZ" text="2600HZ" value="0x0068"/>
+ <entry comment="" name="DeviceTone_440HZ" text="440HZ" value="0x0069"/>
+ <entry comment="" name="DeviceTone_300HZ" text="300HZ" value="0x006a"/>
+ <entry comment="" name="DeviceTone_Mobility_WP" text="Mobility_WP" value="0x006b"/>
+ <entry comment="" name="DeviceTone_Mobility_UAC" text="Mobility_UAC" value="0x006c"/>
+ <entry comment="" name="DeviceTone_Mobility_WTDN" text="Mobility_WTDN" value="0x006d"/>
+ <entry comment="" name="DeviceTone_Mobility_MON" text="Mobility_MON" value="0x006e"/>
+ <entry comment="" name="DeviceTone_Mobility_MOFF" text="Mobility_MOFF" value="0x006f"/>
+ <entry comment="" name="DeviceTone_Mobility_UKC" text="Mobility_UKC" value="0x0070"/>
+ <entry comment="" name="DeviceTone_Mobility_VMA" text="Mobility_VMA" value="0x0071"/>
+ <entry comment="" name="DeviceTone_Mobility_FAC" text="Mobility_FAC" value="0x0072"/>
+ <entry comment="" name="DeviceTone_Mobility_CMC" text="Mobility_CMC" value="0x0073"/>
+ <entry comment="" name="DeviceTone_MLPP_PALA" text="MLPP_PALA" value="0x0077"/>
+ <entry comment="" name="DeviceTone_MLPP_ICA" text="MLPP_ICA" value="0x0078"/>
+ <entry comment="" name="DeviceTone_MLPP_VCA" text="MLPP_VCA" value="0x0079"/>
+ <entry comment="" name="DeviceTone_MLPP_BPA" text="MLPP_BPA" value="0x007a"/>
+ <entry comment="" name="DeviceTone_MLPP_BNEA" text="MLPP_BNEA" value="0x007b"/>
+ <entry comment="" name="DeviceTone_MLPP_UPA" text="MLPP_UPA" value="0x007c"/>
+ <entry comment="" name="DeviceTone_TUA" text="TUA" value="0x007d"/>
+ <entry comment="" name="DeviceTone_GONE" text="GONE" value="0x007e"/>
+ <entry comment="" name="DeviceTone_NoTone" text="NoTone" value="0x007f"/>
+ <entry comment="" name="DeviceTone_MAX" text="MAX" value="0x0080"/>
+ </entries>
+ </enum>
+ <enum name="ToneOutputDirection">
+ <entries>
+ <entry comment="" name="ToneOutputDirection_User" text="User" value="0x0000"/>
+ <entry comment="" name="ToneOutputDirection_Network" text="Network" value="0x0001"/>
+ <entry comment="" name="ToneOutputDirection_All" text="All" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartToneMessage" opcode="0x0082" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="tone" subtype="DeviceTone" type="uint32"/>
+ <enum comment="" name="tone_output_direction" subtype="ToneOutputDirection" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StopToneMessage" opcode="0x0083" status="no" type="MediaControl">
+ <fields>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="22">
+ <enum comment="" name="tone" subtype="DeviceTone" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="RingMode">
+ <entries>
+ <entry comment="" name="RingMode_RingOff" text="RingOff" value="0x0001"/>
+ <entry comment="" name="RingMode_InsideRing" text="InsideRing" value="0x0002"/>
+ <entry comment="" name="RingMode_OutsideRing" text="OutsideRing" value="0x0003"/>
+ <entry comment="" name="RingMode_FeatureRing" text="FeatureRing" value="0x0004"/>
+ <entry comment="" name="RingMode_FlashOnly" text="FlashOnly" value="0x0005"/>
+ <entry comment="" name="RingMode_PrecedenceRing" text="PrecedenceRing" value="0x0006"/>
+ </entries>
+ </enum>
+ <enum name="RingDuration">
+ <entries>
+ <entry comment="" name="RingDuration_NormalRing" text="NormalRing" value="0x0001"/>
+ <entry comment="" name="RingDuration_SingleRing" text="SingleRing" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SetRingerMessage" opcode="0x0085" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="ringMode" subtype="RingMode" type="uint32"/>
+ <enum comment="" name="ringDuration" subtype="RingDuration" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="LampMode">
+ <entries>
+ <entry comment="" name="LampMode_Off" text="Off" value="0x0001"/>
+ <entry comment="" name="LampMode_On" text="On" value="0x0002"/>
+ <entry comment="" name="LampMode_Wink" text="Wink" value="0x0003"/>
+ <entry comment="" name="LampMode_Flash" text="Flash" value="0x0004"/>
+ <entry comment="" name="LampMode_Blink" text="Blink" value="0x0005"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SetLampMessage" opcode="0x0086" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="stimulus" subtype="DeviceStimulus" type="uint32"/>
+ <integer comment="" name="stimulusInstance" type="uint32"/>
+ <enum comment="" name="lampMode" subtype="LampMode" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="SpeakerMode">
+ <entries>
+ <entry comment="" name="SpeakerMode_On" text="On" value="0x0001"/>
+ <entry comment="" name="SpeakerMode_Off" text="Off" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SetSpeakerModeMessage" opcode="0x0088" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="speakerMode" subtype="SpeakerMode" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="MicrophoneMode">
+ <entries>
+ <entry comment="" name="MicrophoneMode_On" text="On" value="0x0001"/>
+ <entry comment="" name="MicrophoneMode_Off" text="Off" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SetMicroModeMessage" opcode="0x0089" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="micMode" subtype="MicrophoneMode" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="Media_SilenceSuppression">
+ <entries>
+ <entry comment="" name="Media_SilenceSuppression_Off" text="Media_SilenceSuppression_Off" value="0x0000"/>
+ <entry comment="" name="Media_SilenceSuppression_On" text="Media_SilenceSuppression_On" value="0x0001"/>
+ </entries>
+ </enum>
+ <enum name="MediaEncryptionAlgorithmType">
+ <entries>
+ <entry comment="" name="MediaEncryptionAlgorithmType_NO_ENCRYPTION" text="NO_ENCRYPTION" value="0x0000"/>
+ <entry comment="" name="MediaEncryptionAlgorithmType_CCM_AES_CM_128_HMAC_SHA1_32" text="CCM_AES_CM_128_HMAC_SHA1_32" value="0x0001"/>
+ <entry comment="" name="MediaEncryptionAlgorithmType_CCM_AES_CM_128_HMAC_SHA1_80" text="CCM_AES_CM_128_HMAC_SHA1_80" value="0x0002"/>
+ <entry comment="" name="MediaEncryptionAlgorithmType_CCM_F8_128_HMAC_SHA1_32" text="CCM_F8_128_HMAC_SHA1_32" value="0x0003"/>
+ <entry comment="" name="MediaEncryptionAlgorithmType_CCM_F8_128_HMAC_SHA1_80" text="CCM_F8_128_HMAC_SHA1_80" value="0x0004"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMediaTransmissionMessage" opcode="0x008a" priority="send_immediate" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="" name="remoteIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <struct comment="" name="qualifierOut" subtype="Media_QualifierOutgoing" type="struct">
+ <fields>
+ <integer comment="" name="precedenceValue" type="uint32"/>
+ <enum comment="" name="ssValue" subtype="Media_SilenceSuppression" type="uint32"/>
+ <integer comment="" name="maxFramesPerPacket" type="uint16"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="15">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierOutgoingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <struct comment="" name="mTxMediaEncryptionKeyInfo" subtype="MediaEncryptionKeyInfo" type="struct">
+ <fields>
+ <enum comment="" name="algorithmID" subtype="MediaEncryptionAlgorithmType" type="uint32"/>
+ <integer comment="" declare="yes" name="keylen" type="uint16"/>
+ <integer comment="" declare="yes" name="saltlen" type="uint16"/>
+ <integer comment="" maxsize="16" name="key" size_fieldname="keylen" type="uint8"/>
+ <integer comment="" maxsize="16" name="salt" size_fieldname="saltlen" type="uint8"/>
+ <integer comment="" name="isMKIPresent" type="uint32"/>
+ <integer comment="" name="keyDerivationRate" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="streamPassThroughID" type="uint32"/>
+ <integer comment="" name="associatedStreamID" type="uint32"/>
+ <integer comment="" name="RFC2833PayloadType" type="uint32"/>
+ <integer comment="" name="dtmfType" type="uint32"/>
+ <integer comment="" name="mixingMode" type="uint32"/>
+ <integer comment="" name="partyDirection" type="uint32"/>
+ </fields>
+ <fields beginversion="20" endversion="22">
+ <struct comment="" name="latentCapsInfo" type="struct">
+ <fields>
+ <integer comment="" name="active" type="uint32"/>
+ <struct comment="" name="modemRelay" type="struct">
+ <fields>
+ <integer comment="" name="capAndVer" type="uint32"/>
+ <integer comment="" name="modAnd2833" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="sprtPayload" type="struct">
+ <fields>
+ <integer comment="" name="chan0MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxPayload" type="uint16"/>
+ <integer comment="" name="chan3MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxWindow" type="uint16"/>
+ </fields>
+ </struct>
+ <struct comment="" name="sse" type="struct">
+ <fields>
+ <integer comment="" name="standard" type="uint32"/>
+ <integer comment="" name="vendor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="payloadParam" type="struct">
+ <fields>
+ <integer comment="" name="nse" type="uint8"/>
+ <integer comment="" name="rfc2833" type="uint8"/>
+ <integer comment="" name="sse" type="uint8"/>
+ <integer comment="" name="v150sprt" type="uint8"/>
+ <integer comment="" name="noaudio" type="uint8"/>
+ <integer comment="" name="FutureUse1" type="uint8"/>
+ <integer comment="" name="FutureUse2" type="uint8"/>
+ <integer comment="" name="FutureUse3" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="PortHandling">
+ <entries>
+ <entry comment="" name="PortHandling_CLOSE_PORT" text="CLOSE_PORT" value="0x0000"/>
+ <entry comment="" name="PortHandling_KEEP_PORT" text="KEEP_PORT" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StopMediaTransmissionMessage" opcode="0x008b" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="portHandlingFlag" subtype="PortHandling" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="CallType">
+ <entries>
+ <entry comment="" name="CallType_InBoundCall" text="InBoundCall" value="0x0001"/>
+ <entry comment="" name="CallType_OutBoundCall" text="OutBoundCall" value="0x0002"/>
+ <entry comment="" name="CallType_ForwardCall" text="ForwardCall" value="0x0003"/>
+ </entries>
+ </enum>
+ <enum name="CallSecurityStatusType">
+ <entries>
+ <entry comment="" name="CallSecurityStatusType_Unknown" text="Unknown" value="0x0000"/>
+ <entry comment="" name="CallSecurityStatusType_NotAuthenticated" text="NotAuthenticated" value="0x0001"/>
+ <entry comment="" name="CallSecurityStatusType_Authenticated" text="Authenticated" value="0x0002"/>
+ <entry comment="" name="CallSecurityStatusType_Encrypted" text="Encrypted" value="0x0003"/>
+ <entry comment="" name="CallSecurityStatusType_Max" text="Max" value="0x0004"/>
+ </entries>
+ </enum>
+ <bitfield name="RestrictInformationType">
+ <entries>
+ <entry comment="" name="RestrictInformationType_CallingPartyName" text="CallingPartyName" value="0x0001"/>
+ <entry comment="" name="RestrictInformationType_CallingPartyNumber" text="CallingPartyNumber" value="0x0002"/>
+ <entry comment="" name="RestrictInformationType_CallingParty" text="CallingParty" value="0x0003"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyName" text="CalledPartyName" value="0x0004"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyNumber" text="CalledPartyNumber" value="0x0008"/>
+ <entry comment="" name="RestrictInformationType_CalledParty" text="CalledParty" value="0x000c"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyName" text="OriginalCalledPartyName" value="0x0010"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyNumber" text="OriginalCalledPartyNumber" value="0x0020"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledParty" text="OriginalCalledParty" value="0x0030"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyName" text="LastRedirectPartyName" value="0x0040"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyNumber" text="LastRedirectPartyNumber" value="0x0080"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectParty" text="LastRedirectParty" value="0x00c0"/>
+ <entry comment="" name="RestrictInformationType_BitsReserved" text="BitsReserved" value="0xffffff00"/>
+ </entries>
+ </bitfield>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CallInfoMessage" opcode="0x008f" priority="send_immediate" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <string comment="Calling Party Name" name="callingPartyName" size="40" type="char"/>
+ <string comment="Calling Party Number" name="callingParty" size="24" type="char"/>
+ <string comment="Called Party Name" name="calledPartyName" size="40" type="char"/>
+ <string comment="CalledPartyNumber" name="calledParty" size="24" type="char"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="callType" subtype="CallType" type="uint32"/>
+ <string comment="Original Called Party Name" name="originalCalledPartyName" size="40" type="char"/>
+ <string comment="Original Called Party Number" name="originalCalledParty" size="24" type="char"/>
+ <string comment="Last Redirecting Party Name" name="lastRedirectingPartyName" size="40" type="char"/>
+ <string comment="Last Redirecting Party Number" name="lastRedirectingParty" size="24" type="char"/>
+ <integer comment="Original Called Party Redirect Reason" name="originalCdpnRedirectReason" type="uint32"/>
+ <integer comment="Last Redirecting Reason" name="lastRedirectingReason" type="uint32"/>
+ <string comment="Calling Party Voicemail Box Number" name="cgpnVoiceMailbox" size="24" type="char"/>
+ <string comment="Called Party Voicemail Box Number" name="cdpnVoiceMailbox" size="24" type="char"/>
+ <string comment="Original Called Party Voicemail Box Number" name="originalCdpnVoiceMailbox" size="24" type="char"/>
+ <string comment="Last Redirecting Parties Voicemail Box Number" name="lastRedirectingVoiceMailbox" size="24" type="char"/>
+ <integer comment="CallId" name="callInstance" type="uint32"/>
+ <enum comment="" name="callSecurityStatus" subtype="CallSecurityStatusType" type="uint32"/>
+ <bitfield comment="" name="partyPIRestrictionBits" size="uint32" subtype="RestrictInformationType" type="bitfield">
+ <entries>
+ <entry comment="" name="RestrictInformationType_CallingPartyName" text="CallingPartyName" value="0x0001"/>
+ <entry comment="" name="RestrictInformationType_CallingPartyNumber" text="CallingPartyNumber" value="0x0002"/>
+ <entry comment="" name="RestrictInformationType_CallingParty" text="CallingParty" value="0x0003"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyName" text="CalledPartyName" value="0x0004"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyNumber" text="CalledPartyNumber" value="0x0008"/>
+ <entry comment="" name="RestrictInformationType_CalledParty" text="CalledParty" value="0x000c"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyName" text="OriginalCalledPartyName" value="0x0010"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyNumber" text="OriginalCalledPartyNumber" value="0x0020"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledParty" text="OriginalCalledParty" value="0x0030"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyName" text="LastRedirectPartyName" value="0x0040"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyNumber" text="LastRedirectPartyNumber" value="0x0080"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectParty" text="LastRedirectParty" value="0x00c0"/>
+ <entry comment="" name="RestrictInformationType_BitsReserved" text="BitsReserved" value="0xffffff00"/>
+ </entries>
+ </bitfield>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ForwardStatMessage" opcode="0x0090" priority="send_immediate" status="result" type="RegistrationAndManagement">
+ <fields>
+ <integer comment="" name="activeForward" type="uint32"/>
+ <integer comment="" name="lineNumber" type="uint32"/>
+ <integer comment="" name="forwardAllActive" type="uint32"/>
+ <string comment="" declare="yes" name="forwardAllDirnum" size="VariableDirnumSize" type="char"/>
+ <integer comment="" name="forwardBusyActive" type="uint32"/>
+ <string comment="" declare="yes" name="forwardBusyDirnum" size="VariableDirnumSize" type="char"/>
+ <integer comment="" name="forwardNoAnswerActive" type="uint32"/>
+ <string comment="" declare="yes" name="forwardNoAnswerlDirnum" size="VariableDirnumSize" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SpeedDialStatMessage" opcode="0x0091" priority="send_immediate" status="result" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="speedDialNumber" type="uint32"/>
+ <string comment="" name="speedDialDirNumber" size="24" type="char"/>
+ <string comment="" name="speedDialDisplayName" size="40" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="LineStatMessage" opcode="0x0092" priority="send_immediate" status="result" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="lineNumber" type="uint32"/>
+ <string comment="" name="lineDirNumber" size="24" type="char"/>
+ <string comment="" name="lineFullyQualifiedDisplayName" size="40" type="char"/>
+ <string comment="" name="lineTextLabel" size="40" type="char"/>
+ <integer comment="" name="lineDisplayOptions" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ConfigStatMessage" opcode="0x0093" priority="send_immediate" status="result" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="sid" type="struct">
+ <fields>
+ <string comment="Device Name" name="DeviceName" size="16" type="char"/>
+ <integer comment="User Id" name="reserved_for_future_use" type="uint32"/>
+ <integer comment="Device Instance" name="instance" type="uint32"/>
+ </fields>
+ </struct>
+ <string comment="" name="userName" size="40" type="char"/>
+ <string comment="" name="serverName" size="40" type="char"/>
+ <integer comment="" name="numberOfLines" type="uint32"/>
+ <integer comment="" name="numberOfSpeedDials" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DefineTimeDate" opcode="0x0094" priority="send_immediate" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="timeDataInfo" subtype="Time" type="struct">
+ <fields>
+ <integer comment="" name="wYear" type="uint32"/>
+ <integer comment="" name="wMonth" type="uint32"/>
+ <integer comment="" name="wDayOfWeek" type="uint32"/>
+ <integer comment="" name="wDay" type="uint32"/>
+ <integer comment="" name="wHour" type="uint32"/>
+ <integer comment="" name="wMinute" type="uint32"/>
+ <integer comment="" name="wSecond" type="uint32"/>
+ <integer comment="" name="wMilliseconds" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="systemTime" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="SessionType">
+ <entries>
+ <entry comment="" name="SessionType_Chat" text="Chat" value="0x0001"/>
+ <entry comment="" name="SessionType_Whiteboard" text="Whiteboard" value="0x0002"/>
+ <entry comment="" name="SessionType_ApplicationSharing" text="ApplicationSharing" value="0x0004"/>
+ <entry comment="" name="SessionType_FileTransfer" text="FileTransfer" value="0x0008"/>
+ <entry comment="" name="SessionType_Video" text="Video" value="0x0010"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="StartSessionTransmissionMessage" opcode="0x0095" priority="send_immediate" status="no" type="IntraCCM">
+ <fields>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="remoteIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <enum comment="" name="sessionType" subtype="SessionType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="StopSessionTransmissionMessage" opcode="0x0096" status="no" type="IntraCCM">
+ <fields>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="remoteIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <enum comment="" name="sessionType" subtype="SessionType" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="ButtonType">
+ <entries>
+ <entry comment="" name="ButtonType_Unused" text="Unused" value="0x00"/>
+ <entry comment="" name="ButtonType_Last Number Redial" text="Last Number Redial" value="0x01"/>
+ <entry comment="" name="ButtonType_SpeedDial" text="SpeedDial" value="0x02"/>
+ <entry comment="" name="ButtonType_Hold" text="Hold" value="0x03"/>
+ <entry comment="" name="ButtonType_Transfer" text="Transfer" value="0x04"/>
+ <entry comment="" name="ButtonType_Forward All" text="Forward All" value="0x05"/>
+ <entry comment="" name="ButtonType_Forward Busy" text="Forward Busy" value="0x06"/>
+ <entry comment="" name="ButtonType_Forward No Answer" text="Forward No Answer" value="0x07"/>
+ <entry comment="" name="ButtonType_Display" text="Display" value="0x08"/>
+ <entry comment="" name="ButtonType_Line" text="Line" value="0x09"/>
+ <entry comment="" name="ButtonType_T120 Chat" text="T120 Chat" value="0x0A"/>
+ <entry comment="" name="ButtonType_T120 Whiteboard" text="T120 Whiteboard" value="0x0B"/>
+ <entry comment="" name="ButtonType_T120 Application Sharing" text="T120 Application Sharing" value="0x0C"/>
+ <entry comment="" name="ButtonType_T120 File Transfer" text="T120 File Transfer" value="0x0D"/>
+ <entry comment="" name="ButtonType_Video" text="Video" value="0x0E"/>
+ <entry comment="" name="ButtonType_Voicemail" text="Voicemail" value="0x0F"/>
+ <entry comment="" name="ButtonType_Answer Release" text="Answer Release" value="0x10"/>
+ <entry comment="" name="ButtonType_Auto Answer" text="Auto Answer" value="0x11"/>
+ <entry comment="" name="ButtonType_Select" text="Select" value="0x12"/>
+ <entry comment="" name="ButtonType_Feature" text="Feature" value="0x13"/>
+ <entry comment="" name="ButtonType_ServiceURL" text="ServiceURL" value="0x14"/>
+ <entry comment="" name="ButtonType_BusyLampField Speeddial" text="BusyLampField Speeddial" value="0x15"/>
+ <entry comment="" name="ButtonType_Malicious Call" text="Malicious Call" value="0x1B"/>
+ <entry comment="" name="ButtonType_Generic App B1" text="Generic App B1" value="0x21"/>
+ <entry comment="" name="ButtonType_Generic App B2" text="Generic App B2" value="0x22"/>
+ <entry comment="" name="ButtonType_Generic App B3" text="Generic App B3" value="0x23"/>
+ <entry comment="" name="ButtonType_Generic App B4" text="Generic App B4" value="0x24"/>
+ <entry comment="" name="ButtonType_Generic App B5" text="Generic App B5" value="0x25"/>
+ <entry comment="" name="ButtonType_Monitor/Multiblink" text="Monitor/Multiblink" value="0x26"/>
+ <entry comment="" name="ButtonType_Meet Me Conference" text="Meet Me Conference" value="0x7B"/>
+ <entry comment="" name="ButtonType_Conference" text="Conference" value="0x7D"/>
+ <entry comment="" name="ButtonType_Call Park" text="Call Park" value="0x7E"/>
+ <entry comment="" name="ButtonType_Call Pickup" text="Call Pickup" value="0x7F"/>
+ <entry comment="" name="ButtonType_Group Call Pickup" text="Group Call Pickup" value="0x80"/>
+ <entry comment="" name="ButtonType_Mobility" text="Mobility" value="0x81"/>
+ <entry comment="" name="ButtonType_DoNotDisturb" text="DoNotDisturb" value="0x82"/>
+ <entry comment="" name="ButtonType_ConfList" text="ConfList" value="0x83"/>
+ <entry comment="" name="ButtonType_RemoveLastParticipant" text="RemoveLastParticipant" value="0x84"/>
+ <entry comment="" name="ButtonType_QRT" text="QRT" value="0x85"/>
+ <entry comment="" name="ButtonType_CallBack" text="CallBack" value="0x86"/>
+ <entry comment="" name="ButtonType_OtherPickup" text="OtherPickup" value="0x87"/>
+ <entry comment="" name="ButtonType_VideoMode" text="VideoMode" value="0x88"/>
+ <entry comment="" name="ButtonType_NewCall" text="NewCall" value="0x89"/>
+ <entry comment="" name="ButtonType_EndCall" text="EndCall" value="0x8A"/>
+ <entry comment="" name="ButtonType_HLog" text="HLog" value="0x8B"/>
+ <entry comment="" name="ButtonType_Queuing" text="Queuing" value="0x8F"/>
+ <entry comment="" name="ButtonType_Test E" text="Test E" value="0xC0"/>
+ <entry comment="" name="ButtonType_Test F" text="Test F" value="0xC1"/>
+ <entry comment="" name="ButtonType_Test I" text="Test I" value="0xC4"/>
+ <entry comment="" name="ButtonType_Messages" text="Messages" value="0xC2"/>
+ <entry comment="" name="ButtonType_Directory" text="Directory" value="0xC3"/>
+ <entry comment="" name="ButtonType_Application" text="Application" value="0xC5"/>
+ <entry comment="" name="ButtonType_Headset" text="Headset" value="0xC6"/>
+ <entry comment="" name="ButtonType_Keypad" text="Keypad" value="0xF0"/>
+ <entry comment="" name="ButtonType_Aec" text="Aec" value="0xFD"/>
+ <entry comment="" name="ButtonType_Undefined" text="Undefined" value="0xFF"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ButtonTemplateMessage" opcode="0x0097" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="buttonTemplate" subtype="ButtonTemplate" type="struct">
+ <fields>
+ <integer comment="" name="buttonOffset" type="uint32"/>
+ <integer comment="" name="buttonCount" type="uint32"/>
+ <integer comment="" declare="yes" name="totalButtonCount" type="uint32"/>
+ <struct comment="" maxsize="42" name="definition" size_fieldname="totalButtonCount" subtype="ButtonDefinition" type="struct">
+ <fields>
+ <integer comment="" name="instanceNumber" type="uint8"/>
+ <enum comment="" name="buttonDefinition" subtype="ButtonType" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="VersionMessage" opcode="0x0098" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <string comment="" name="version" size="16" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DisplayTextMessage" opcode="0x0099" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <string comment="" name="text" size="32" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ClearDisplay" opcode="0x009a" status="no" type="CallControl"/>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CapabilitiesReq" opcode="0x009b" status="no" type="RegistrationAndManagement"/>
+ <message comment="" direction="pbx2dev" dynamic="no" name="RegisterRejectMessage" opcode="0x009d" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <string comment="" name="text" size="32" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ServerResMessage" opcode="0x009e" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="server" size="5" subtype="ServerIdentifier" type="struct">
+ <fields>
+ <string comment="" name="ServerName" size="48" type="char"/>
+ </fields>
+ </struct>
+ <integer comment="" name="serverTcpListenPort" size="5" type="uint32"/>
+ <struct comment="" name="serverIpAddr" size="5" subtype="IpAddress" type="struct">
+ <fields>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="stationIpAddr" size="16" subtype="uint8" type="ipaddr"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="DeviceResetType">
+ <entries>
+ <entry comment="" name="DeviceResetType_RESET" text="RESET" value="0x0001"/>
+ <entry comment="" name="DeviceResetType_RESTART" text="RESTART" value="0x0002"/>
+ <entry comment="" name="DeviceResetType_APPLY_CONFIG" text="APPLY_CONFIG" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="Reset" opcode="0x009f" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="resetType" subtype="DeviceResetType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="KeepAliveAckMessage" opcode="0x0100" status="no" type="RegistrationAndManagement"/>
+ <enum name="Media_EchoCancellation">
+ <entries>
+ <entry comment="" name="Media_EchoCancellation_Off" text="Media_EchoCancellation_Off" value="0x0000"/>
+ <entry comment="" name="Media_EchoCancellation_On" text="Media_EchoCancellation_On" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMulticastMediaReceptionMessage" opcode="0x0101" priority="send_immediate" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="multicastIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="multicastPortNumber" subtype="uint32" type="ipport" use_param="multicastIpAddr"/>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <struct comment="" name="qualifierIn" subtype="Media_QualifierIncoming" type="struct">
+ <fields>
+ <enum comment="" name="ecValue" subtype="Media_EchoCancellation" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="22">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierIncomingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMulticastMediaTransmissionMessage" opcode="0x0102" priority="send_immediate" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="multicastIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="multicastPortNumber" subtype="uint32" type="ipport" use_param="multicastIpAddr"/>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <struct comment="" name="qualifierOut" subtype="Media_QualifierOutgoing" type="struct">
+ <fields>
+ <integer comment="" name="precedenceValue" type="uint32"/>
+ <enum comment="" name="ssValue" subtype="Media_SilenceSuppression" type="uint32"/>
+ <integer comment="" name="maxFramesPerPacket" type="uint16"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="15">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierOutgoingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StopMulticastMediaReceptionMessage" opcode="0x0103" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StopMulticastMediaTransmissionMessage" opcode="0x0104" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="OpenReceiveChannelMessage" opcode="0x0105" priority="send_immediate" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <struct comment="" name="qualifierIn" subtype="Media_QualifierIncoming" type="struct">
+ <fields>
+ <enum comment="" name="ecValue" subtype="Media_EchoCancellation" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="22">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierIncomingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <struct comment="" name="mRxMediaEncryptionKeyInfo" subtype="MediaEncryptionKeyInfo" type="struct">
+ <fields>
+ <enum comment="" name="algorithmID" subtype="MediaEncryptionAlgorithmType" type="uint32"/>
+ <integer comment="" declare="yes" name="keylen" type="uint16"/>
+ <integer comment="" declare="yes" name="saltlen" type="uint16"/>
+ <integer comment="" maxsize="16" name="key" size_fieldname="keylen" type="uint8"/>
+ <integer comment="" maxsize="16" name="salt" size_fieldname="saltlen" type="uint8"/>
+ <integer comment="" name="isMKIPresent" type="uint32"/>
+ <integer comment="" name="keyDerivationRate" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="streamPassThroughID" type="uint32"/>
+ <integer comment="" name="associatedStreamID" type="uint32"/>
+ <integer comment="" name="RFC2833PayloadType" type="uint32"/>
+ <integer comment="" name="dtmfType" type="uint32"/>
+ </fields>
+ <fields beginversion="11">
+ <integer comment="" name="mixingMode" type="uint32"/>
+ <integer comment="" name="partyDirection" type="uint32"/>
+ <ipv4or6 comment="" name="sourceIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="sourcePortNumber" subtype="uint32" type="ipport" use_param="sourceIpAddr"/>
+ </fields>
+ <fields beginversion="16">
+ <enum comment="" name="requestedIpAddrType" subtype="IpAddrType" type="uint32"/>
+ </fields>
+ <fields beginversion="17">
+ <integer comment="" name="audioLevelAdjustment" type="int32"/>
+ </fields>
+ <fields beginversion="20" endversion="22">
+ <struct comment="" name="latentCapsInfo" type="struct">
+ <fields>
+ <integer comment="" name="active" type="uint32"/>
+ <struct comment="" name="modemRelay" type="struct">
+ <fields>
+ <integer comment="" name="capAndVer" type="uint32"/>
+ <integer comment="" name="modAnd2833" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="sprtPayload" type="struct">
+ <fields>
+ <integer comment="" name="chan0MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxPayload" type="uint16"/>
+ <integer comment="" name="chan3MaxPayload" type="uint16"/>
+ <integer comment="" name="chan2MaxWindow" type="uint16"/>
+ </fields>
+ </struct>
+ <struct comment="" name="sse" type="struct">
+ <fields>
+ <integer comment="" name="standard" type="uint32"/>
+ <integer comment="" name="vendor" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" name="payloadParam" type="struct">
+ <fields>
+ <integer comment="" name="nse" type="uint8"/>
+ <integer comment="" name="rfc2833" type="uint8"/>
+ <integer comment="" name="sse" type="uint8"/>
+ <integer comment="" name="v150sprt" type="uint8"/>
+ <integer comment="" name="noaudio" type="uint8"/>
+ <integer comment="" name="FutureUse1" type="uint8"/>
+ <integer comment="" name="FutureUse2" type="uint8"/>
+ <integer comment="" name="FutureUse3" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CloseReceiveChannelMessage" opcode="0x0106" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="portHandlingFlag" subtype="PortHandling" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ConnectionStatisticsReqMessage" opcode="0x0107" status="no" type="CallControl">
+ <fields>
+ <string comment="Directory Number" declare="yes" name="directoryNum" size="VariableDirnumSize" type="char"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="statsProcessingMode" subtype="StatsProcessingType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SoftKeyTemplateResMessage" opcode="0x0108" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="softKeyTemplate" subtype="SoftKeyTemplate" type="struct">
+ <fields>
+ <integer comment="" name="softKeyOffset" type="uint32"/>
+ <integer comment="" name="softKeyCount" type="uint32"/>
+ <integer comment="" declare="yes" name="totalSoftKeyCount" type="uint32"/>
+ <struct comment="" maxsize="32" name="definition" size_fieldname="totalSoftKeyCount" subtype="SoftKeyDefinition" type="struct">
+ <fields>
+ <string comment="" name="softKeyLabel" size="16" subtype="DisplayLabel" type="char"/>
+ <enum comment="" name="softKeyEvent" subtype="SoftKeyEvent" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="SoftKeyTemplateIndex">
+ <entries>
+ <entry name="SoftKeyTemplateIndex_Redial" text="Redial" value="1"/>
+ <entry name="SoftKeyTemplateIndex_NewCall" text="NewCall" value="2"/>
+ <entry name="SoftKeyTemplateIndex_Hold" text="Hold" value="3"/>
+ <entry name="SoftKeyTemplateIndex_Transfer" text="Transfer" value="4"/>
+ <entry name="SoftKeyTemplateIndex_CfwdAll" text="CfwdAll" value="5"/>
+ <entry name="SoftKeyTemplateIndex_CfwdBusy" text="CfwdBusy" value="6"/>
+ <entry name="SoftKeyTemplateIndex_CfwdNoAnswer" text="CfwdNoAnswer" value="7"/>
+ <entry name="SoftKeyTemplateIndex_BackSpace" text="BackSpace" value="8"/>
+ <entry name="SoftKeyTemplateIndex_EndCall" text="EndCall" value="9"/>
+ <entry name="SoftKeyTemplateIndex_Resume" text="Resume" value="10"/>
+ <entry name="SoftKeyTemplateIndex_Answer" text="Answer" value="11"/>
+ <entry name="SoftKeyTemplateIndex_Info" text="Info" value="12"/>
+ <entry name="SoftKeyTemplateIndex_Confrn" text="Confrn" value="13"/>
+ <entry name="SoftKeyTemplateIndex_Park" text="Park" value="14"/>
+ <entry name="SoftKeyTemplateIndex_Join" text="Join" value="15"/>
+ <entry name="SoftKeyTemplateIndex_MeetMe" text="MeetMe" value="16"/>
+ <entry name="SoftKeyTemplateIndex_PickUp" text="PickUp" value="17"/>
+ <entry name="SoftKeyTemplateIndex_GrpPickup" text="GrpPickup" value="18"/>
+ <entry name="SoftKeyTemplateIndex_Monitor" text="Monitor" value="19"/>
+ <entry name="SoftKeyTemplateIndex_CallBack" text="CallBack" value="20"/>
+ <entry name="SoftKeyTemplateIndex_Barge" text="Barge" value="21"/>
+ <entry name="SoftKeyTemplateIndex_DND" text="DND" value="22"/>
+ <entry name="SoftKeyTemplateIndex_ConfList" text="ConfList" value="23"/>
+ <entry name="SoftKeyTemplateIndex_Select" text="Select" value="24"/>
+ <entry name="SoftKeyTemplateIndex_Private" text="Private" value="25"/>
+ <entry name="SoftKeyTemplateIndex_Trnsfvm" text="Transfer Voicemail" value="26"/>
+ <entry name="SoftKeyTemplateIndex_DirTrfr" text="Direct Transfer" value="27"/>
+ <entry name="SoftKeyTemplateIndex_IDivert" text="Immediate Divert" value="28"/>
+ <entry name="SoftKeyTemplateIndex_VideoMode" text="Video Mode" value="29"/>
+ <entry name="SoftKeyTemplateIndex_Intrcpt" text="Intercept" value="30"/>
+ <entry name="SoftKeyTemplateIndex_Empty" text="Empty" value="31"/>
+ <entry name="SoftKeyTemplateIndex_Dial" text="Dial" value="32"/>
+ <entry name="SoftKeyTemplateIndex_CBarge" text="Conference Barge" value="33"/>
+ </entries>
+ </enum>
+ <enum name="SoftKeyInfoIndex">
+ <entries>
+ <entry name="SoftKeyInfoIndex_Redial" text="Redial" value="301"/>
+ <entry name="SoftKeyInfoIndex_NewCall" text="NewCall" value="302"/>
+ <entry name="SoftKeyInfoIndex_Hold" text="Hold" value="303"/>
+ <entry name="SoftKeyInfoIndex_Transfer" text="Transfer" value="304"/>
+ <entry name="SoftKeyInfoIndex_CfwdAll" text="CfwdAll" value="305"/>
+ <entry name="SoftKeyInfoIndex_CfwdBusy" text="CfwdBusy" value="306"/>
+ <entry name="SoftKeyInfoIndex_CfwdNoAnswer" text="CfwdNoAnswer" value="307"/>
+ <entry name="SoftKeyInfoIndex_BackSpace" text="BackSpace" value="308"/>
+ <entry name="SoftKeyInfoIndex_EndCall" text="EndCall" value="309"/>
+ <entry name="SoftKeyInfoIndex_Resume" text="Resume" value="310"/>
+ <entry name="SoftKeyInfoIndex_Answer" text="Answer" value="311"/>
+ <entry name="SoftKeyInfoIndex_Info" text="Info" value="312"/>
+ <entry name="SoftKeyInfoIndex_Confrn" text="Confrn" value="313"/>
+ <entry name="SoftKeyInfoIndex_Park" text="Park" value="314"/>
+ <entry name="SoftKeyInfoIndex_Join" text="Join" value="315"/>
+ <entry name="SoftKeyInfoIndex_MeetMe" text="MeetMe" value="316"/>
+ <entry name="SoftKeyInfoIndex_PickUp" text="PickUp" value="317"/>
+ <entry name="SoftKeyInfoIndex_GrpPickup" text="GrpPickup" value="318"/>
+ <entry name="SoftKeyInfoIndex_Monitor" text="Monitor" value="319"/>
+ <entry name="SoftKeyInfoIndex_CallBack" text="CallBack" value="320"/>
+ <entry name="SoftKeyInfoIndex_Barge" text="Barge" value="321"/>
+ <entry name="SoftKeyInfoIndex_DND" text="DND" value="322"/>
+ <entry name="SoftKeyInfoIndex_ConfList" text="ConfList" value="323"/>
+ <entry name="SoftKeyInfoIndex_Select" text="Select" value="324"/>
+ <entry name="SoftKeyInfoIndex_Private" text="Private" value="325"/>
+ <entry name="SoftKeyInfoIndex_Trnsfvm" text="Transfer Voicemail" value="326"/>
+ <entry name="SoftKeyInfoIndex_DirTrfr" text="Direct Transfer" value="327"/>
+ <entry name="SoftKeyInfoIndex_IDivert" text="Immediate Divert" value="328"/>
+ <entry name="SoftKeyInfoIndex_VideoMode" text="Video Mode" value="329"/>
+ <entry name="SoftKeyInfoIndex_Intrcpt" text="Intercept" value="330"/>
+ <entry name="SoftKeyInfoIndex_Empty" text="Empty" value="331"/>
+ <entry name="SoftKeyInfoIndex_Dial" text="Dial" value="332"/>
+ <entry name="SoftKeyInfoIndex_CBarge" text="Conference Barge" value="333"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SoftKeySetResMessage" opcode="0x0109" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="softKeySets" subtype="SoftKeySets" type="struct">
+ <fields>
+ <integer comment="" name="softKeySetOffset" type="uint32"/>
+ <integer comment="" name="softKeySetCount" type="uint32"/>
+ <integer comment="" declare="yes" name="totalSoftKeySetCount" type="uint32"/>
+ <struct comment="" maxsize="16" name="definition" size_fieldname="totalSoftKeySetCount" subtype="SoftKeySetDefinition" type="struct">
+ <fields>
+ <enum comment="" name="softKeyTemplateIndex" size="16" subtype="SoftKeyTemplateIndex" type="uint8"/>
+ <enum comment="" name="softKeyInfoIndex" size="16" subtype="SoftKeyInfoIndex" type="uint16"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <bitfield name="SoftKeyMask">
+ <entries>
+ <entry comment="" name="SoftKeyMask_SoftKey1" text="SoftKey1" value="0x0001"/>
+ <entry comment="" name="SoftKeyMask_SoftKey2" text="SoftKey2" value="0x0002"/>
+ <entry comment="" name="SoftKeyMask_SoftKey3" text="SoftKey3" value="0x0004"/>
+ <entry comment="" name="SoftKeyMask_SoftKey4" text="SoftKey4" value="0x0008"/>
+ <entry comment="" name="SoftKeyMask_SoftKey5" text="SoftKey5" value="0x0010"/>
+ <entry comment="" name="SoftKeyMask_SoftKey6" text="SoftKey6" value="0x0020"/>
+ <entry comment="" name="SoftKeyMask_SoftKey7" text="SoftKey7" value="0x0040"/>
+ <entry comment="" name="SoftKeyMask_SoftKey8" text="SoftKey8" value="0x0080"/>
+ <entry comment="" name="SoftKeyMask_SoftKey9" text="SoftKey9" value="0x0100"/>
+ <entry comment="" name="SoftKeyMask_SoftKey10" text="SoftKey10" value="0x0200"/>
+ <entry comment="" name="SoftKeyMask_SoftKey11" text="SoftKey11" value="0x0400"/>
+ <entry comment="" name="SoftKeyMask_SoftKey12" text="SoftKey12" value="0x0800"/>
+ <entry comment="" name="SoftKeyMask_SoftKey13" text="SoftKey13" value="0x1000"/>
+ <entry comment="" name="SoftKeyMask_SoftKey14" text="SoftKey14" value="0x2000"/>
+ <entry comment="" name="SoftKeyMask_SoftKey15" text="SoftKey15" value="0x4000"/>
+ <entry comment="" name="SoftKeyMask_SoftKey16" text="SoftKey16" value="0x8000"/>
+ </entries>
+ </bitfield>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SelectSoftKeysMessage" opcode="0x0110" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="softKeySetIndex" subtype="SoftKeySet" type="uint32"/>
+ <bitfield comment="" name="validKeyMask" size="uint32" subtype="SoftKeyMask" type="bitfield">
+ <entries>
+ <entry comment="" name="SoftKeyMask_SoftKey1" text="SoftKey1" value="0x0001"/>
+ <entry comment="" name="SoftKeyMask_SoftKey2" text="SoftKey2" value="0x0002"/>
+ <entry comment="" name="SoftKeyMask_SoftKey3" text="SoftKey3" value="0x0004"/>
+ <entry comment="" name="SoftKeyMask_SoftKey4" text="SoftKey4" value="0x0008"/>
+ <entry comment="" name="SoftKeyMask_SoftKey5" text="SoftKey5" value="0x0010"/>
+ <entry comment="" name="SoftKeyMask_SoftKey6" text="SoftKey6" value="0x0020"/>
+ <entry comment="" name="SoftKeyMask_SoftKey7" text="SoftKey7" value="0x0040"/>
+ <entry comment="" name="SoftKeyMask_SoftKey8" text="SoftKey8" value="0x0080"/>
+ <entry comment="" name="SoftKeyMask_SoftKey9" text="SoftKey9" value="0x0100"/>
+ <entry comment="" name="SoftKeyMask_SoftKey10" text="SoftKey10" value="0x0200"/>
+ <entry comment="" name="SoftKeyMask_SoftKey11" text="SoftKey11" value="0x0400"/>
+ <entry comment="" name="SoftKeyMask_SoftKey12" text="SoftKey12" value="0x0800"/>
+ <entry comment="" name="SoftKeyMask_SoftKey13" text="SoftKey13" value="0x1000"/>
+ <entry comment="" name="SoftKeyMask_SoftKey14" text="SoftKey14" value="0x2000"/>
+ <entry comment="" name="SoftKeyMask_SoftKey15" text="SoftKey15" value="0x4000"/>
+ <entry comment="" name="SoftKeyMask_SoftKey16" text="SoftKey16" value="0x8000"/>
+ </entries>
+ </bitfield>
+ </fields>
+ </message>
+ <enum name="DCallState">
+ <entries>
+ <entry comment="" name="DCallState_Idle" text="Idle" value="0x0000"/>
+ <entry comment="" name="DCallState_OffHook" text="OffHook" value="0x0001"/>
+ <entry comment="" name="DCallState_OnHook" text="OnHook" value="0x0002"/>
+ <entry comment="" name="DCallState_RingOut" text="RingOut" value="0x0003"/>
+ <entry comment="" name="DCallState_RingIn" text="RingIn" value="0x0004"/>
+ <entry comment="" name="DCallState_Connected" text="Connected" value="0x0005"/>
+ <entry comment="" name="DCallState_Busy" text="Busy" value="0x0006"/>
+ <entry comment="" name="DCallState_Congestion" text="Congestion" value="0x0007"/>
+ <entry comment="" name="DCallState_Hold" text="Hold" value="0x0008"/>
+ <entry comment="" name="DCallState_CallWaiting" text="CallWaiting" value="0x0009"/>
+ <entry comment="" name="DCallState_CallTransfer" text="CallTransfer" value="0x000a"/>
+ <entry comment="" name="DCallState_CallPark" text="CallPark" value="0x000b"/>
+ <entry comment="" name="DCallState_Proceed" text="Proceed" value="0x000c"/>
+ <entry comment="" name="DCallState_CallRemoteMultiline" text="CallRemoteMultiline" value="0x000d"/>
+ <entry comment="" name="DCallState_InvalidNumber" text="InvalidNumber" value="0x000e"/>
+ <entry comment="" name="DCallState_HoldRevert" text="HoldRevert" value="0x000f"/>
+ <entry comment="" name="DCallState_Whisper" text="Whisper" value="0x0010"/>
+ <entry comment="" name="DCallState_RemoteHold" text="RemoteHold" value="0x0011"/>
+ <entry comment="" name="DCallState_MaxState" text="MaxState" value="0x0012"/>
+ </entries>
+ </enum>
+ <enum name="CallPrivacy">
+ <entries>
+ <entry comment="" name="CallPrivacy_None" text="None" value="0x0000"/>
+ <entry comment="" name="CallPrivacy_Limited" text="Limited" value="0x0001"/>
+ <entry comment="" name="CallPrivacy_Full" text="Full" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CallStateMessage" opcode="0x0111" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="CallState" name="callState" subtype="DCallState" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="privacy" subtype="CallPrivacy" type="uint32"/>
+ <struct comment="" name="precedence" type="struct">
+ <fields>
+ <integer comment="" name="precedenceLv" type="uint32"/>
+ <integer comment="" name="precedenceDm" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DisplayPromptStatusMessage" opcode="0x0112" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="timeOutValue" type="uint32"/>
+ <string comment="" name="promptStatus" size="32" subtype="DisplayLabel" type="char"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ClearPromptStatusMessage" opcode="0x0113" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DisplayNotifyMessage" opcode="0x0114" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="timeOutValue" type="uint32"/>
+ <string comment="" name="notify" size="32" subtype="DisplayLabel" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ClearNotifyMessage" opcode="0x0115" status="no" type="CallControl"/>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ActivateCallPlaneMessage" opcode="0x0116" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DeactivateCallPlaneMessage" opcode="0x0117" status="no" type="CallControl"/>
+ <enum name="DeviceUnregisterStatus">
+ <entries>
+ <entry comment="" name="DeviceUnregisterStatus_Ok" text="Ok" value="0x0000"/>
+ <entry comment="" name="DeviceUnregisterStatus_Error" text="Error" value="0x0001"/>
+ <entry comment="" name="DeviceUnregisterStatus_NAK" text="NAK" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="UnregisterAckMessage" opcode="0x0118" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="status" subtype="DeviceUnregisterStatus" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="BackSpaceReqMessage" opcode="0x0119" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="RegisterTokenAck" opcode="0x011a" status="no" type="RegistrationAndManagement"/>
+ <message comment="" direction="pbx2dev" dynamic="no" name="RegisterTokenReject" opcode="0x011b" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="waitTimeBeforeNextReq" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMediaFailureDetectionMessage" opcode="0x011c" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <struct comment="" name="qualifierIn" subtype="Media_QualifierIncoming" type="struct">
+ <fields>
+ <enum comment="" name="ecValue" subtype="Media_EchoCancellation" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="22">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierIncomingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DialedNumberMessage" opcode="0x011d" status="no" type="CallControl">
+ <fields>
+ <string comment="" declare="yes" name="dialedNumber" size="VariableDirnumSize" type="char"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="UserToDeviceDataMessage" opcode="0x011e" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="userToDeviceData" subtype="UserAndDeviceData" type="struct">
+ <fields>
+ <integer comment="" name="applicationID" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="transactionID" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <xml comment="" maxsize="2000" name="data" size_fieldname="dataLength" type="xml"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="FeatureStatMessage" opcode="0x011f" status="result" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="featureIndex" type="uint32"/>
+ <integer comment="" name="featureID" type="uint32"/>
+ <string comment="" name="featureTextLabel" size="40" type="char"/>
+ <integer comment="" name="featureStatus" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="DisplayPriNotifyMessage" opcode="0x0120" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="timeOutValue" type="uint32"/>
+ <integer comment="" name="priority" type="uint32"/>
+ <string comment="" name="notify" size="32" subtype="DisplayLabel" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ClearPriNotifyMessage" opcode="0x0121" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="priority" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="EndOfAnnAck">
+ <entries>
+ <entry comment="" name="EndOfAnnAck_NoAnnAckRequired" text="NoAnnAckRequired" value="0x0000"/>
+ <entry comment="" name="EndOfAnnAck_AnnAckRequired" text="AnnAckRequired" value="0x0001"/>
+ </entries>
+ </enum>
+ <enum name="AnnPlayMode">
+ <entries>
+ <entry comment="" name="AnnPlayMode_XmlConfigMode" text="XmlConfigMode" value="0x0000"/>
+ <entry comment="" name="AnnPlayMode_OneShotMode" text="OneShotMode" value="0x0001"/>
+ <entry comment="" name="AnnPlayMode_ContinuousMode" text="ContinuousMode" value="0x0002"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="StartAnnouncementMessage" opcode="0x0122" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="AnnList" size="32" type="struct">
+ <fields>
+ <integer comment="" name="locale" type="uint32"/>
+ <integer comment="" name="country" type="uint32"/>
+ <enum comment="" name="toneAnnouncement" subtype="DeviceTone" type="uint32"/>
+ </fields>
+ </struct>
+ <enum comment="" name="annAckReq" subtype="EndOfAnnAck" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="matrixConfPartyID" size="16" type="uint32"/>
+ <integer comment="" name="hearingConfPartyMask" type="uint32"/>
+ <enum comment="" name="annPlayMode" subtype="AnnPlayMode" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="StopAnnouncementMessage" opcode="0x0123" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="PlayAnnStatus">
+ <entries>
+ <entry comment="" name="PlayAnnStatus_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="PlayAnnStatus_Err" text="Err" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AnnouncementFinishMessage" opcode="0x0124" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <enum comment="" name="annStatus" subtype="PlayAnnStatus" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="NotifyDtmfToneMessage" opcode="0x0127" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="tone" subtype="DeviceTone" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SendDtmfToneMessage" opcode="0x0128" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="tone" subtype="DeviceTone" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SubscribeDtmfPayloadReqMessage" opcode="0x0129" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="payloadDtmf" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ <integer comment="" name="dtmfType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SubscribeDtmfPayloadResMessage" opcode="0x012a" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="payloadDtmf" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SubscribeDtmfPayloadErrMessage" opcode="0x012b" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="payloadDtmf" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="UnSubscribeDtmfPayloadReqMessage" opcode="0x012c" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="payloadDtmf" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ <integer comment="" name="dtmfType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="UnSubscribeDtmfPayloadResMessage" opcode="0x012d" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="payloadDtmf" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="UnSubscribeDtmfPayloadErrMessage" opcode="0x012e" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="payloadDtmf" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="ServiceURLStatMessage" opcode="0x012f" status="result" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="serviceURLIndex" type="uint32"/>
+ <string comment="" name="serviceURL" size="256" type="char"/>
+ <string comment="" name="serviceURLDisplayName" size="40" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CallSelectStatMessage" opcode="0x0130" status="result" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="callSelectStat" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="OpenMultiMediaReceiveChannelMessage" opcode="0x0131" priority="send_immediate" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <struct comment="" declare="yes" name="payloadType" subtype="RTPPayloadType" type="struct">
+ <fields>
+ <integer comment="" name="payload_rfc_number" type="uint32"/>
+ <integer comment="" declare="yes" name="payloadType" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="isConferenceCreator" type="uint32"/>
+ <union comment="" lookup_guide="payloadType" name="capability" subtype="OpenMultiMediaReceiveChannelMessageUnion" type="union">
+ <fields>
+ <struct comment="" lookup_le="Media_Payload_AMR_WB" name="audioParameters" subtype="Media_AudioIncomingParameters" type="struct">
+ <fields>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <struct comment="" name="qualifierIn" subtype="Media_QualifierIncoming" type="struct">
+ <fields>
+ <enum comment="" name="ecValue" subtype="Media_EchoCancellation" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="22">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierIncomingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ <struct comment="" lookup_ge="Media_Payload_H261" lookup_le="Media_Payload_H264_FEC" name="vidParameters" subtype="ChannelVideoParameters" type="struct">
+ <fields>
+ <integer comment="" name="bitRate" type="uint32"/>
+ <integer comment="" declare="yes" name="pictureFormatCount" type="uint32"/>
+ <struct comment="" maxsize="5" name="pictureFormat" size_fieldname="pictureFormatCount" subtype="PictureFormatSupport" type="struct">
+ <fields>
+ <integer comment="" name="format" type="uint32"/>
+ <integer comment="" name="MPI" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="confServiceNum" type="uint32"/>
+ <union comment="" lookup_guide="payloadType" name="capability" subtype="ChannelVideoParametersUnion" type="union">
+ <fields>
+ <struct comment="" lookup_eq="Media_Payload_H261" name="h261VideoCapability" subtype="H261VideoCapability" type="struct">
+ <fields>
+ <integer comment="Temporal spatial trade off capability" name="temporalSpatialTradeOffCapability" type="uint32"/>
+ <integer comment="Still Image Transmission" name="stillImageTransmission" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H263" name="h263VideoCapability" subtype="H263VideoCapability" type="struct">
+ <fields>
+ <bitfield comment="H263 Capability BitField" name="h263_capability_bitfield" size="uint32" subtype="Generic_Bitfield_32" type="bitfield">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ <entry comment="" name="Generic_Bitfield_Bit17" text="Bit17" value="0x10000"/>
+ <entry comment="" name="Generic_Bitfield_Bit18" text="Bit18" value="0x20000"/>
+ <entry comment="" name="Generic_Bitfield_Bit19" text="Bit19" value="0x40000"/>
+ <entry comment="" name="Generic_Bitfield_Bit20" text="Bit20" value="0x80000"/>
+ <entry comment="" name="Generic_Bitfield_Bit21" text="Bit21" value="0x100000"/>
+ <entry comment="" name="Generic_Bitfield_Bit22" text="Bit22" value="0x200000"/>
+ <entry comment="" name="Generic_Bitfield_Bit23" text="Bit23" value="0x400000"/>
+ <entry comment="" name="Generic_Bitfield_Bit24" text="Bit24" value="0x800000"/>
+ <entry comment="" name="Generic_Bitfield_Bit25" text="Bit25" value="0x1000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit26" text="Bit26" value="0x2000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit27" text="Bit27" value="0x4000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit28" text="Bit28" value="0x8000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit29" text="Bit29" value="0x10000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit30" text="Bit30" value="0x20000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit31" text="Bit31" value="0x40000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit32" text="Bit32" value="0x80000000"/>
+ </entries>
+ </bitfield>
+ <integer comment="" name="annexNandWFutureUse" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H264" name="h264VideoCapability" subtype="H264VideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="profile" type="uint32"/>
+ <integer comment="" name="level" type="uint32"/>
+ <integer comment="" name="customMaxMBPS" type="uint32"/>
+ <integer comment="" name="customMaxFS" type="uint32"/>
+ <integer comment="" name="customMaxDPB" type="uint32"/>
+ <integer comment="" name="customMaxBRandCPB" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_Vieo" name="vieoVideoCapability" subtype="VieoVideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="modelNumber" type="uint32"/>
+ <integer comment="" name="bandwidth" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" lookup_ge="Media_Payload_Clear_Chan" name="dataParameters" subtype="ChannelDataParameters" type="struct">
+ <fields>
+ <integer comment="" name="protocolDependentData" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ <struct comment="" name="mRxMediaEncryptionKeyInfo" subtype="MediaEncryptionKeyInfo" type="struct">
+ <fields>
+ <enum comment="" name="algorithmID" subtype="MediaEncryptionAlgorithmType" type="uint32"/>
+ <integer comment="" declare="yes" name="keylen" type="uint16"/>
+ <integer comment="" declare="yes" name="saltlen" type="uint16"/>
+ <integer comment="" maxsize="16" name="key" size_fieldname="keylen" type="uint8"/>
+ <integer comment="" maxsize="16" name="salt" size_fieldname="saltlen" type="uint8"/>
+ <integer comment="" name="isMKIPresent" type="uint32"/>
+ <integer comment="" name="keyDerivationRate" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="streamPassThroughID" type="uint32"/>
+ <integer comment="" name="associatedStreamID" type="uint32"/>
+ </fields>
+ <fields beginversion="11">
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="sourceIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="sourcePortNumber" subtype="uint32" type="ipport" use_param="sourceIpAddr"/>
+ </fields>
+ <fields beginversion="16" endversion="22">
+ <enum comment="" name="requestedIpAddrType" subtype="IpAddrType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMultiMediaTransmissionMessage" opcode="0x0132" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ <enum comment="" declare="yes" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <struct comment="" declare="yes" name="payloadType" subtype="RTPPayloadType" type="struct">
+ <fields>
+ <integer comment="" name="payload_rfc_number" type="uint32"/>
+ <integer comment="" declare="yes" name="payloadType" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="DSCPValue" type="uint32"/>
+ <union comment="" lookup_guide="payloadType" name="capability" subtype="StartMultiMediaTransmissionMessageUnion" type="union">
+ <fields>
+ <struct comment="" lookup_le="Media_Payload_AMR_WB" name="audioParameters" subtype="Media_AudioIncomingParameters" type="struct">
+ <fields>
+ <integer comment="" name="millisecondPacketSize" type="uint32"/>
+ <struct comment="" name="qualifierIn" subtype="Media_QualifierIncoming" type="struct">
+ <fields>
+ <enum comment="" name="ecValue" subtype="Media_EchoCancellation" type="uint32"/>
+ </fields>
+ <fields beginversion="0" endversion="10">
+ <enum comment="" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ </fields>
+ <fields beginversion="11" endversion="22">
+ <union comment="" lookup_guide="compressionType" name="codecParamsUnion" subtype="Media_QualifierIncomingUnion" type="union">
+ <fields>
+ <enum comment="" lookup_eq="Media_Payload_G7231" name="g723BitRate" subtype="Media_G723BitRate" type="uint32"/>
+ <struct comment="" lookup_eq="*" name="codecParams" subtype="CodecParameters" type="struct">
+ <fields>
+ <integer comment="" name="codecMode" type="uint8"/>
+ <integer comment="" name="dynamicPayload" type="uint8"/>
+ <integer comment="" name="codecParam1" type="uint8"/>
+ <integer comment="" name="codecParam2" type="uint8"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ <struct comment="" lookup_ge="Media_Payload_H261" lookup_le="Media_Payload_H264_FEC" name="vidParameters" subtype="ChannelVideoParameters" type="struct">
+ <fields>
+ <integer comment="" name="bitRate" type="uint32"/>
+ <integer comment="" declare="yes" name="pictureFormatCount" type="uint32"/>
+ <struct comment="" maxsize="5" name="pictureFormat" size_fieldname="pictureFormatCount" subtype="PictureFormatSupport" type="struct">
+ <fields>
+ <integer comment="" name="format" type="uint32"/>
+ <integer comment="" name="MPI" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="confServiceNum" type="uint32"/>
+ <union comment="" lookup_guide="payloadType" name="capability" subtype="ChannelVideoParametersUnion" type="union">
+ <fields>
+ <struct comment="" lookup_eq="Media_Payload_H261" name="h261VideoCapability" subtype="H261VideoCapability" type="struct">
+ <fields>
+ <integer comment="Temporal spatial trade off capability" name="temporalSpatialTradeOffCapability" type="uint32"/>
+ <integer comment="Still Image Transmission" name="stillImageTransmission" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H263" name="h263VideoCapability" subtype="H263VideoCapability" type="struct">
+ <fields>
+ <bitfield comment="H263 Capability BitField" name="h263_capability_bitfield" size="uint32" subtype="Generic_Bitfield_32" type="bitfield">
+ <entries>
+ <entry comment="" name="Generic_Bitfield_Bit1" text="Bit1" value="0x0001"/>
+ <entry comment="" name="Generic_Bitfield_Bit2" text="Bit2" value="0x0002"/>
+ <entry comment="" name="Generic_Bitfield_Bit3" text="Bit3" value="0x0004"/>
+ <entry comment="" name="Generic_Bitfield_Bit4" text="Bit4" value="0x0008"/>
+ <entry comment="" name="Generic_Bitfield_Bit5" text="Bit5" value="0x0010"/>
+ <entry comment="" name="Generic_Bitfield_Bit6" text="Bit6" value="0x0020"/>
+ <entry comment="" name="Generic_Bitfield_Bit7" text="Bit7" value="0x0040"/>
+ <entry comment="" name="Generic_Bitfield_Bit8" text="Bit8" value="0x0080"/>
+ <entry comment="" name="Generic_Bitfield_Bit9" text="Bit9" value="0x0100"/>
+ <entry comment="" name="Generic_Bitfield_Bit10" text="Bit10" value="0x0200"/>
+ <entry comment="" name="Generic_Bitfield_Bit11" text="Bit11" value="0x0400"/>
+ <entry comment="" name="Generic_Bitfield_Bit12" text="Bit12" value="0x0800"/>
+ <entry comment="" name="Generic_Bitfield_Bit13" text="Bit13" value="0x1000"/>
+ <entry comment="" name="Generic_Bitfield_Bit14" text="Bit14" value="0x2000"/>
+ <entry comment="" name="Generic_Bitfield_Bit15" text="Bit14" value="0x4000"/>
+ <entry comment="" name="Generic_Bitfield_Bit16" text="Bit15" value="0x8000"/>
+ <entry comment="" name="Generic_Bitfield_Bit17" text="Bit17" value="0x10000"/>
+ <entry comment="" name="Generic_Bitfield_Bit18" text="Bit18" value="0x20000"/>
+ <entry comment="" name="Generic_Bitfield_Bit19" text="Bit19" value="0x40000"/>
+ <entry comment="" name="Generic_Bitfield_Bit20" text="Bit20" value="0x80000"/>
+ <entry comment="" name="Generic_Bitfield_Bit21" text="Bit21" value="0x100000"/>
+ <entry comment="" name="Generic_Bitfield_Bit22" text="Bit22" value="0x200000"/>
+ <entry comment="" name="Generic_Bitfield_Bit23" text="Bit23" value="0x400000"/>
+ <entry comment="" name="Generic_Bitfield_Bit24" text="Bit24" value="0x800000"/>
+ <entry comment="" name="Generic_Bitfield_Bit25" text="Bit25" value="0x1000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit26" text="Bit26" value="0x2000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit27" text="Bit27" value="0x4000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit28" text="Bit28" value="0x8000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit29" text="Bit29" value="0x10000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit30" text="Bit30" value="0x20000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit31" text="Bit31" value="0x40000000"/>
+ <entry comment="" name="Generic_Bitfield_Bit32" text="Bit32" value="0x80000000"/>
+ </entries>
+ </bitfield>
+ <integer comment="" name="annexNandWFutureUse" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_H264" name="h264VideoCapability" subtype="H264VideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="profile" type="uint32"/>
+ <integer comment="" name="level" type="uint32"/>
+ <integer comment="" name="customMaxMBPS" type="uint32"/>
+ <integer comment="" name="customMaxFS" type="uint32"/>
+ <integer comment="" name="customMaxDPB" type="uint32"/>
+ <integer comment="" name="customMaxBRandCPB" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="Media_Payload_Vieo" name="vieoVideoCapability" subtype="VieoVideoCapability" type="struct">
+ <fields>
+ <integer comment="" name="modelNumber" type="uint32"/>
+ <integer comment="" name="bandwidth" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ </fields>
+ </struct>
+ <struct comment="" lookup_ge="Media_Payload_Clear_Chan" name="dataParameters" subtype="ChannelDataParameters" type="struct">
+ <fields>
+ <integer comment="" name="protocolDependentData" type="uint32"/>
+ <integer comment="" name="maxBitRate" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </union>
+ <struct comment="" name="mTxMediaEncryptionKeyInfo" subtype="MediaEncryptionKeyInfo" type="struct">
+ <fields>
+ <enum comment="" name="algorithmID" subtype="MediaEncryptionAlgorithmType" type="uint32"/>
+ <integer comment="" declare="yes" name="keylen" type="uint16"/>
+ <integer comment="" declare="yes" name="saltlen" type="uint16"/>
+ <integer comment="" maxsize="16" name="key" size_fieldname="keylen" type="uint8"/>
+ <integer comment="" maxsize="16" name="salt" size_fieldname="saltlen" type="uint8"/>
+ <integer comment="" name="isMKIPresent" type="uint32"/>
+ <integer comment="" name="keyDerivationRate" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="streamPassThroughID" type="uint32"/>
+ <integer comment="" name="associatedStreamID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StopMultiMediaTransmissionMessage" opcode="0x0133" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="portHandlingFlag" subtype="PortHandling" type="uint32"/>
+ </fields>
+ </message>
+ <enum define="yes" name="MiscCommandType">
+ <entries>
+ <entry comment="" name="MiscCommandType_videoFreezePicture" text="videoFreezePicture" value="0x0000"/>
+ <entry comment="" name="MiscCommandType_videoFastUpdatePicture" text="videoFastUpdatePicture" value="0x0001"/>
+ <entry comment="" name="MiscCommandType_videoFastUpdateGOB" text="videoFastUpdateGOB" value="0x0002"/>
+ <entry comment="" name="MiscCommandType_videoFastUpdateMB" text="videoFastUpdateMB" value="0x0003"/>
+ <entry comment="" name="MiscCommandType_lostPicture" text="lostPicture" value="0x0004"/>
+ <entry comment="" name="MiscCommandType_lostPartialPicture" text="lostPartialPicture" value="0x0005"/>
+ <entry comment="" name="MiscCommandType_recoveryReferencePicture" text="recoveryReferencePicture" value="0x0006"/>
+ <entry comment="" name="MiscCommandType_temporalSpatialTradeOff" text="temporalSpatialTradeOff" value="0x0007"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="MiscellaneousCommandMessage" opcode="0x0134" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" declare="yes" name="command" subtype="MiscCommandType" type="uint32"/>
+ <union comment="" lookup_guide="command" name="u" subtype="MiscellaneousCommandMessageUnion" type="union">
+ <fields>
+ <struct comment="" lookup_eq="MiscCommandType_videoFastUpdateGOB" name="videoFastUpdateGOB" subtype="VideoFastUpdateGOB" type="struct">
+ <fields>
+ <integer comment="" name="firstGOB" type="uint32"/>
+ <integer comment="" name="numberOfGOBs" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="MiscCommandType_videoFastUpdateMB" name="videoFastUpdateMB" subtype="VideoFastUpdateMB" type="struct">
+ <fields>
+ <integer comment="" name="firstGOB" type="uint32"/>
+ <integer comment="" name="firstMB" type="uint32"/>
+ <integer comment="" name="numberOfMBs" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="MiscCommandType_lostPicture" name="lostPicture" subtype="PictureReference" type="struct">
+ <fields>
+ <integer comment="" name="pictureNumber" type="uint32"/>
+ <integer comment="" name="longTermPictureIndex" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="MiscCommandType_lostPartialPicture" name="lostPartialPicture" type="struct">
+ <fields>
+ <struct comment="" name="pictureReference" subtype="PictureReference" type="struct">
+ <fields>
+ <integer comment="" name="pictureNumber" type="uint32"/>
+ <integer comment="" name="longTermPictureIndex" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="firstMB" type="uint32"/>
+ <integer comment="" name="numberOfMBs" type="uint32"/>
+ </fields>
+ </struct>
+ <struct comment="" lookup_eq="MiscCommandType_recoveryReferencePicture" name="recoveryReferencePictureValue" subtype="PictureReferenceValues" type="struct">
+ <fields>
+ <integer comment="" declare="yes" name="recoveryReferencePictureCount" type="uint32"/>
+ <struct comment="" maxsize="4" name="recoveryReferencePicture" size_fieldname="recoveryReferencePictureCount" subtype="PictureReference" type="struct">
+ <fields>
+ <integer comment="" name="pictureNumber" type="uint32"/>
+ <integer comment="" name="longTermPictureIndex" type="uint32"/>
+ </fields>
+ </struct>
+ </fields>
+ </struct>
+ <integer comment="" lookup_eq="MiscCommandType_temporalSpatialTradeOff" name="temporalSpatialTradeOff" type="uint32"/>
+ <integer comment="" lookup_eq="*" name="none" type="uint32"/>
+ </fields>
+ </union>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="FlowControlCommandMessage" opcode="0x0135" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="maximumBitRate" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CloseMultiMediaReceiveChannelMessage" opcode="0x0136" priority="send_immediate" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="portHandlingFlag" subtype="PortHandling" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="CreateConferenceReqMessage" opcode="0x0137" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="numberOfReservedParticipants" type="uint32"/>
+ <enum comment="" name="resourceType" subtype="ResourceType" type="uint32"/>
+ <integer comment="" name="appID" type="uint32"/>
+ <string comment="" name="appConfID" size="32" type="char"/>
+ <string comment="" name="appData" size="24" type="char"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <string comment="variable field size (max: 2000]" maxsize="2000" name="passThruData" size_fieldname="dataLength" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="DeleteConferenceReqMessage" opcode="0x0138" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="ModifyConferenceReqMessage" opcode="0x0139" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="numberOfReservedParticipants" type="uint32"/>
+ <integer comment="" name="appID" type="uint32"/>
+ <string comment="" name="appConfID" size="32" type="char"/>
+ <string comment="" name="appData" size="24" type="char"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <string comment="variable field size (max: 2000]" maxsize="2000" name="passThruData" size_fieldname="dataLength" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AddParticipantReqMessage" opcode="0x013a" status="no" type="IntraCCM">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <bitfield comment="" name="partyPIRestrictionBits" size="uint32" subtype="RestrictInformationType" type="bitfield">
+ <entries>
+ <entry comment="" name="RestrictInformationType_CallingPartyName" text="CallingPartyName" value="0x0001"/>
+ <entry comment="" name="RestrictInformationType_CallingPartyNumber" text="CallingPartyNumber" value="0x0002"/>
+ <entry comment="" name="RestrictInformationType_CallingParty" text="CallingParty" value="0x0003"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyName" text="CalledPartyName" value="0x0004"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyNumber" text="CalledPartyNumber" value="0x0008"/>
+ <entry comment="" name="RestrictInformationType_CalledParty" text="CalledParty" value="0x000c"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyName" text="OriginalCalledPartyName" value="0x0010"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyNumber" text="OriginalCalledPartyNumber" value="0x0020"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledParty" text="OriginalCalledParty" value="0x0030"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyName" text="LastRedirectPartyName" value="0x0040"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyNumber" text="LastRedirectPartyNumber" value="0x0080"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectParty" text="LastRedirectParty" value="0x00c0"/>
+ <entry comment="" name="RestrictInformationType_BitsReserved" text="BitsReserved" value="0xffffff00"/>
+ </entries>
+ </bitfield>
+ <string comment="" name="participantName" size="40" type="char"/>
+ <string comment="" name="participantNumber" size="24" type="char"/>
+ <string comment="" name="conferenceName" size="32" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="DropParticipantReqMessage" opcode="0x013b" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AuditConferenceReqMessage" opcode="0x013c" status="no" type="IntraCCM"/>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="AuditParticipantReqMessage" opcode="0x013d" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="ChangeParticipantReqMessage" opcode="0x013e" status="no" type="IntraCCM">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <bitfield comment="" name="partyPIRestrictionBits" size="uint32" subtype="RestrictInformationType" type="bitfield">
+ <entries>
+ <entry comment="" name="RestrictInformationType_CallingPartyName" text="CallingPartyName" value="0x0001"/>
+ <entry comment="" name="RestrictInformationType_CallingPartyNumber" text="CallingPartyNumber" value="0x0002"/>
+ <entry comment="" name="RestrictInformationType_CallingParty" text="CallingParty" value="0x0003"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyName" text="CalledPartyName" value="0x0004"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyNumber" text="CalledPartyNumber" value="0x0008"/>
+ <entry comment="" name="RestrictInformationType_CalledParty" text="CalledParty" value="0x000c"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyName" text="OriginalCalledPartyName" value="0x0010"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyNumber" text="OriginalCalledPartyNumber" value="0x0020"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledParty" text="OriginalCalledParty" value="0x0030"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyName" text="LastRedirectPartyName" value="0x0040"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyNumber" text="LastRedirectPartyNumber" value="0x0080"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectParty" text="LastRedirectParty" value="0x00c0"/>
+ <entry comment="" name="RestrictInformationType_BitsReserved" text="BitsReserved" value="0xffffff00"/>
+ </entries>
+ </bitfield>
+ <string comment="" name="participantName" size="40" type="char"/>
+ <string comment="" name="participantNumber" size="24" type="char"/>
+ <string comment="" name="conferenceName" size="32" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="UserToDeviceDataMessageVersion1" opcode="0x013f" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="userToDeviceDataVersion1" subtype="UserAndDeviceDataVersion1" type="struct">
+ <fields>
+ <integer comment="" name="applicationID" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="transactionID" type="uint32"/>
+ <integer comment="" declare="yes" name="dataLength" type="uint32"/>
+ <enum comment="" name="sequenceFlag" subtype="SequenceFlag" type="uint32"/>
+ <integer comment="" name="displayPriority" type="uint32"/>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="appInstanceID" type="uint32"/>
+ <integer comment="" name="routingID" type="uint32"/>
+ <xml comment="" maxsize="2000" name="data" size_fieldname="dataLength" type="xml"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="VideoDisplayCommandMessage" opcode="0x0140" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="layoutID" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="FlowControlNotifyMessage" opcode="0x0141" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="" name="passthruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="" name="maximumBitRate" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="ConfigStatV2Message" opcode="0x0142" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="sid" type="struct">
+ <fields>
+ <string comment="Device Name" name="DeviceName" size="16" type="char"/>
+ <integer comment="User Id" name="reserved_for_future_use" type="uint32"/>
+ <integer comment="Device Instance" name="instance" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="Server Instance" name="serverInstance" type="uint32"/>
+ <integer comment="unknown" name="unknown2" type="uint32"/>
+ <string comment="Connected to Server" name="serverName" size="12" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="DisplayNotifyV2Message" opcode="0x0143" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="timeOutValue" type="uint32"/>
+ <string comment="" name="notify" size="32" subtype="DisplayLabel" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="DisplayPriNotifyV2Message" opcode="0x0144" status="no" type="RegistrationAndManagement">
+ <fields alignment="4" beginversion="0" endversion="22">
+ <integer comment="" name="timeOutValue" type="uint32"/>
+ <integer comment="" name="priority" type="uint32"/>
+ <string comment="" name="notify" size="97" subtype="DisplayLabel" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="DisplayPromptStatusV2Message" opcode="0x0145" status="no" type="CallControl">
+ <fields alignment="4" beginversion="0" endversion="22">
+ <integer comment="" name="timeOutValue" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <string comment="" name="promptStatus" size="97" subtype="DisplayLabel" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="FeatureStatV2Message" opcode="0x0146" status="no" type="RegistrationAndManagement">
+ <fields alignment="4" beginversion="0" endversion="22">
+ <integer comment="" name="featureIndex" type="uint32"/>
+ <integer comment="" name="featureID" type="uint32"/>
+ <integer comment="" name="featureStatus" type="uint32"/>
+ <string comment="" name="featureTextLabel" size="121" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="LineStatV2Message" opcode="0x0147" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="lineNumber" type="uint32"/>
+ <integer comment="" name="Unknown" type="uint32"/>
+ <string comment="" name="lineDirNumber" size="25" type="char"/>
+ <string comment="" name="lineFullyQualifiedDisplayName" size="40" type="char"/>
+ <string comment="" name="lineTextLabel" size="40" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="ServiceURLStatV2Message" opcode="0x0148" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="serviceURLIndex" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="SpeedDialStatV2Message" opcode="0x0149" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="speedDialNumber" type="uint32"/>
+ <string comment="" name="speedDialDirNumber" size="24" type="char"/>
+ <string comment="" name="speedDialDisplayName" size="40" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="yes" name="CallInfoV2Message" opcode="0x014a" status="no" type="CallControl">
+ <fields alignment="2">
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="callType" subtype="CallType" type="uint32"/>
+ <integer comment="Original Called Party Redirect Reason" name="originalCdpnRedirectReason" type="uint32"/>
+ <integer comment="Last Redirecting Reason" name="lastRedirectingReason" type="uint32"/>
+ <integer comment="CallId" name="callInstance" type="uint32"/>
+ <enum comment="" name="callSecurityStatus" subtype="CallSecurityStatusType" type="uint32"/>
+ <bitfield comment="" name="partyPIRestrictionBits" size="uint32" subtype="RestrictInformationType" type="bitfield">
+ <entries>
+ <entry comment="" name="RestrictInformationType_CallingPartyName" text="CallingPartyName" value="0x0001"/>
+ <entry comment="" name="RestrictInformationType_CallingPartyNumber" text="CallingPartyNumber" value="0x0002"/>
+ <entry comment="" name="RestrictInformationType_CallingParty" text="CallingParty" value="0x0003"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyName" text="CalledPartyName" value="0x0004"/>
+ <entry comment="" name="RestrictInformationType_CalledPartyNumber" text="CalledPartyNumber" value="0x0008"/>
+ <entry comment="" name="RestrictInformationType_CalledParty" text="CalledParty" value="0x000c"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyName" text="OriginalCalledPartyName" value="0x0010"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledPartyNumber" text="OriginalCalledPartyNumber" value="0x0020"/>
+ <entry comment="" name="RestrictInformationType_OriginalCalledParty" text="OriginalCalledParty" value="0x0030"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyName" text="LastRedirectPartyName" value="0x0040"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectPartyNumber" text="LastRedirectPartyNumber" value="0x0080"/>
+ <entry comment="" name="RestrictInformationType_LastRedirectParty" text="LastRedirectParty" value="0x00c0"/>
+ <entry comment="" name="RestrictInformationType_BitsReserved" text="BitsReserved" value="0xffffff00"/>
+ </entries>
+ </bitfield>
+ <string comment="Calling Party Number" name="callingParty" size="VariableDirnumSize" type="char"/>
+ <string comment="Alternate Calling Party Number" name="AlternateCallingParty" size="VariableDirnumSize" type="char"/>
+ <string comment="CalledPartyNumber" name="calledParty" size="VariableDirnumSize" type="char"/>
+ <string comment="Original Called Party Number" name="originalCalledParty" size="VariableDirnumSize" type="char"/>
+ <string comment="Last Redirecting Party Number" name="lastRedirectingParty" size="VariableDirnumSize" type="char"/>
+ <string comment="Calling Party Voicemail Box Number" name="cgpnVoiceMailbox" size="VariableDirnumSize" type="char"/>
+ <string comment="Called Party Voicemail Box Number" name="cdpnVoiceMailbox" size="VariableDirnumSize" type="char"/>
+ <string comment="Original Called Party Voicemail Box Number" name="originalCdpnVoiceMailbox" size="VariableDirnumSize" type="char"/>
+ <string comment="Last Redirecting Parties Voicemail Box Number" name="lastRedirectingVoiceMailbox" size="VariableDirnumSize" type="char"/>
+ <string comment="Calling Party Name" name="callingPartyName" size="121" type="char"/>
+ <string comment="Called Party Name" name="calledPartyName" size="121" type="char"/>
+ <string comment="Original Called Party Name" name="originalCalledPartyName" size="121" type="char"/>
+ <string comment="Last Redirecting Party Name" name="lastRedirectingPartyName" size="121" type="char"/>
+ </fields>
+ <fields beginversion="17" endversion="22">
+ <string comment="" name="HuntPilotNumber" size="VariableDirnumSize" type="char"/>
+ <string comment="" name="HuntPilotName" size="121" type="char"/>
+ </fields>
+ </message>
+ <enum name="MediaTransportType">
+ <entries>
+ <entry comment="" name="MediaTransportType_RTP" text="RTP" value="0x0001"/>
+ <entry comment="" name="MediaTransportType_UDP" text="UDP" value="0x0002"/>
+ <entry comment="" name="MediaTransportType_TCP" text="TCP" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="PortReqMessage" opcode="0x014b" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <enum comment="" name="mediaTransportType" subtype="MediaTransportType" type="uint32"/>
+ <enum comment="" name="ipAddressType" subtype="IpAddrType" type="uint32"/>
+ <enum comment="" name="mediaType" subtype="MediaType" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="PortCloseMessage" opcode="0x014c" status="no" type="MediaControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <enum comment="" name="mediaType" subtype="MediaType" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="ResvStyle">
+ <entries>
+ <entry comment="" name="ResvStyle_FF" text="FF" value="0x0001"/>
+ <entry comment="" name="ResvStyle_SE" text="SE" value="0x0002"/>
+ <entry comment="" name="ResvStyle_WF" text="WF" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="QoSListenMessage" opcode="0x014d" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <enum comment="" name="resvStyle" subtype="ResvStyle" type="uint32"/>
+ <integer comment="" name="maxRetryNumber" type="int32"/>
+ <integer comment="" name="retryTimer" type="uint32"/>
+ <integer comment="" name="confirmRequired" type="uint32"/>
+ <integer comment="" name="preemptionPriority" type="uint32"/>
+ <integer comment="" name="defendingPriority" type="uint32"/>
+ <enum comment="" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="averageBitRate" type="uint32"/>
+ <integer comment="" name="burstSize" type="uint32"/>
+ <integer comment="" name="peakRate" type="uint32"/>
+ <struct comment="" name="appID" subtype="RSVPApplicationID" type="struct">
+ <fields>
+ <string comment="" name="vendorID" size="32" type="char"/>
+ <string comment="" name="version" size="16" type="char"/>
+ <string comment="" name="appName" size="32" type="char"/>
+ <string comment="" name="subAppID" size="32" type="char"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="QoSPathMessage" opcode="0x014e" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <enum comment="" name="resvStyle" subtype="ResvStyle" type="uint32"/>
+ <integer comment="" name="maxRetryNumber" type="int32"/>
+ <integer comment="" name="retryTimer" type="uint32"/>
+ <integer comment="" name="preemptionPriority" type="uint32"/>
+ <integer comment="" name="defendingPriority" type="uint32"/>
+ <enum comment="" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="averageBitRate" type="uint32"/>
+ <integer comment="" name="burstSize" type="uint32"/>
+ <integer comment="" name="peakRate" type="uint32"/>
+ <struct comment="" name="appID" subtype="RSVPApplicationID" type="struct">
+ <fields>
+ <string comment="" name="vendorID" size="32" type="char"/>
+ <string comment="" name="version" size="16" type="char"/>
+ <string comment="" name="appName" size="32" type="char"/>
+ <string comment="" name="subAppID" size="32" type="char"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="QoSTeardownMessage" opcode="0x014f" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <enum comment="" name="direction" subtype="RSVPDirection" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="UpdateDSCPMessage" opcode="0x0150" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <integer comment="" name="DSCPValue" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2pbx" dynamic="no" name="QoSModifyMessage" opcode="0x0151" status="no" type="IntraCCM">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endianness="big" name="remoteIpAddr" subtype="uint32" type="ipaddr"/>
+ <integer comment="" name="remotePortNumber" subtype="uint32" type="ipport" use_param="remoteIpAddr"/>
+ <enum comment="" name="direction" subtype="RSVPDirection" type="uint32"/>
+ <enum comment="" name="compressionType" subtype="Media_PayloadType" type="uint32"/>
+ <integer comment="" name="averageBitRate" type="uint32"/>
+ <integer comment="" name="burstSize" type="uint32"/>
+ <integer comment="" name="peakRate" type="uint32"/>
+ <struct comment="" name="appID" subtype="RSVPApplicationID" type="struct">
+ <fields>
+ <string comment="" name="vendorID" size="32" type="char"/>
+ <string comment="" name="version" size="16" type="char"/>
+ <string comment="" name="appName" size="32" type="char"/>
+ <string comment="" name="subAppID" size="32" type="char"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="SubscribeCause">
+ <entries>
+ <entry comment="" name="SubscribeCause_OK" text="OK" value="0x0000"/>
+ <entry comment="" name="SubscribeCause_RouteFail" text="RouteFail" value="0x0001"/>
+ <entry comment="" name="SubscribeCause_AuthFail" text="AuthFail" value="0x0002"/>
+ <entry comment="" name="SubscribeCause_Timeout" text="Timeout" value="0x0003"/>
+ <entry comment="" name="SubscribeCause_TrunkTerm" text="TrunkTerm" value="0x0004"/>
+ <entry comment="" name="SubscribeCause_TrunkForbidden" text="TrunkForbidden" value="0x0005"/>
+ <entry comment="" name="SubscribeCause_Throttle" text="Throttle" value="0x0006"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SubscriptionStatMessage" opcode="0x0152" status="result" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="transactionID" type="uint32"/>
+ <enum comment="" name="featureID" subtype="SubscriptionFeatureID" type="uint32"/>
+ <integer comment="" name="timer" type="uint32"/>
+ <enum comment="" name="cause" subtype="SubscribeCause" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="NotificationMessage" opcode="0x0153" status="no" type="RegistrationAndManagement">
+ <fields alignment="4" beginversion="0" endversion="22">
+ <integer comment="" name="transactionID" type="uint32"/>
+ <enum comment="" name="featureID" subtype="SubscriptionFeatureID" type="uint32"/>
+ <integer comment="" name="status" type="uint32"/>
+ <string comment="" name="text" size="97" type="char"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMediaTransmissionAckMessage" opcode="0x0154" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="transmitIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="transmitPort" type="uint32"/>
+ <enum comment="" name="startMediaTransmissionStatus" subtype="MediaStatus" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="StartMultiMediaTransmissionAckMessage" opcode="0x0155" status="no" type="MediaControl">
+ <fields>
+ <integer comment="Conference ID" name="conferenceID" type="uint32"/>
+ <integer comment="PassThrough PartyId" name="passThruPartyID" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <ipv4or6 comment="ipaddress in big endian" endiannes="big" endianness="big" name="transmitIpAddr" subtype="IpAddress" type="ipaddr"/>
+ <integer comment="" name="transmitPort" type="uint32"/>
+ <enum comment="" name="resultCode" subtype="MediaStatus" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="CallHistoryDisposition">
+ <entries>
+ <entry comment="" name="CallHistoryDisposition_UnknownDisp" text="UnknownDisp" value="0xffffffff"/>
+ <entry comment="" name="CallHistoryDisposition_Ignore" text="Ignore" value="0x0000"/>
+ <entry comment="" name="CallHistoryDisposition_PlacedCalls" text="PlacedCalls" value="0x0001"/>
+ <entry comment="" name="CallHistoryDisposition_ReceivedCalls" text="ReceivedCalls" value="0x0002"/>
+ <entry comment="" name="CallHistoryDisposition_MissedCalls" text="MissedCalls" value="0x0003"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CallHistoryInfoMessage" opcode="0x0156" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <enum comment="" name="callHistoryDisposition" subtype="CallHistoryDisposition" type="uint32"/>
+ <integer comment="LineId" name="lineInstance" type="uint32"/>
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ </fields>
+ </message>
+ <enum name="MwiNotificationResult">
+ <entries>
+ <entry comment="" name="MwiNotificationResult_Ok" text="Ok" value="0x0000"/>
+ <entry comment="" name="MwiNotificationResult_GeneralError" text="GeneralError" value="0x0001"/>
+ <entry comment="" name="MwiNotificationResult_RequestRejected" text="RequestRejected" value="0x0002"/>
+ <entry comment="" name="MwiNotificationResult_VmCountOutOfBounds" text="VmCountOutOfBounds" value="0x0003"/>
+ <entry comment="" name="MwiNotificationResult_FaxCountOutOfBounds" text="FaxCountOutOfBounds" value="0x0004"/>
+ <entry comment="" name="MwiNotificationResult_InvalidPriorityVmCount" text="InvalidPriorityVmCount" value="0x0005"/>
+ <entry comment="" name="MwiNotificationResult_InvalidPriorityFaxCount" text="InvalidPriorityFaxCount" value="0x0006"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="MwiResponseMessage" opcode="0x0158" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <string comment="" name="mwiTargetNumber" size="25" type="char"/>
+ <enum comment="" name="mwi_notification_result" subtype="MwiNotificationResult" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="EnhancedAlarmMessage" opcode="0x015a" status="no" type="RegistrationAndManagement">
+ <fields alignment="4" beginversion="0" endversion="22">
+ <xml comment="" name="alarmInfo" size="2000" type="xml"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CallCountReqMessage" opcode="0x015e" status="no" type="CallControl"/>
+ <message comment="" direction="pbx2dev" dynamic="no" name="CallCountRespMessage" opcode="0x015f" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="Total Number of Configured Lines" name="totalNumOfConfiguredLines" type="uint32"/>
+ <integer comment="Starting Line Instance" name="startingLineInstance" type="uint32"/>
+ <integer comment="Number of Line Data Entries" declare="yes" name="lineDataEntries" type="uint32"/>
+ <struct comment="" maxsize="42" name="lineData" size_fieldname="lineDataEntries" subtype="LineData" type="struct">
+ <fields>
+ <integer comment="" name="maxNumCalls" type="uint16"/>
+ <integer comment="" name="busyTrigger" type="uint16"/>
+ </fields>
+ </struct>
+ </fields>
+ </message>
+ <enum name="RecordingStatus">
+ <entries>
+ <entry comment="" name="RecordingStatus__OFF" text="_OFF" value="0x0000"/>
+ <entry comment="" name="RecordingStatus__ON" text="_ON" value="0x0001"/>
+ </entries>
+ </enum>
+ <message comment="" direction="pbx2dev" dynamic="no" name="RecordingStatusMessage" opcode="0x0160" status="no" type="CallControl">
+ <fields beginversion="0" endversion="22">
+ <integer comment="CallId" name="callReference" type="uint32"/>
+ <enum comment="" name="recording_status" subtype="RecordingStatus" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="dev2pbx" dynamic="no" name="SPCPRegisterTokenReq" opcode="0x8000" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <struct comment="" name="sid" type="struct">
+ <fields>
+ <string comment="Device Name" name="DeviceName" size="16" type="char"/>
+ <integer comment="User Id" name="reserved_for_future_use" type="uint32"/>
+ <integer comment="Device Instance" name="instance" type="uint32"/>
+ </fields>
+ </struct>
+ <integer comment="" name="stationIpAddr" type="uint32"/>
+ <enum comment="" name="deviceType" subtype="DeviceType" type="uint32"/>
+ <integer comment="" name="maxStreams" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SPCPRegisterTokenAck" opcode="0x8100" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="features" type="uint32"/>
+ </fields>
+ </message>
+ <message comment="" direction="pbx2dev" dynamic="no" name="SPCPRegisterTokenReject" opcode="0x8101" status="no" type="RegistrationAndManagement">
+ <fields beginversion="0" endversion="22">
+ <integer comment="" name="waitTimeBeforeNextReq" type="uint32"/>
+ </fields>
+ </message>
+</messages>
diff --git a/tools/parse_xml2skinny_dissector.py b/tools/parse_xml2skinny_dissector.py
new file mode 100755
index 0000000000..02a5bbf346
--- /dev/null
+++ b/tools/parse_xml2skinny_dissector.py
@@ -0,0 +1,888 @@
+#!/usr/bin/env python2
+#
+# Wireshark Dissector Generator for SkinnyProtocolOptimized.xml
+#
+# Author: Diederik de Groot <ddegroot@user.sf.net>
+# Date: 2014-7-22
+# Skinny Protocol Versions: 0 through 22
+#
+# Heritage:
+# xml2obj based on http://code.activestate.com/recipes/149368-xml2obj/
+#
+# Dependencies:
+# python / xml / sax
+#
+# Called By:
+# cog.py + packet-skinny.c.in for inplace code generation
+# See: http://nedbatchelder.com/code/cog/
+#
+#
+
+import re
+import xml.sax.handler
+
+indentation = 0
+indent_str = ''
+fieldsArray = {}
+si_fields = {"callReference" : "si->callId", "lineInstance": "si->lineId", "passThruPartyId" : "si->passThruId", "callState" : "si->callState", "callingParty" : "si->callingParty", "calledParty" : "si->calledParty", "openReceiveChannelStatus" : "si->openreceiveStatus", "startMediaTransmissionStatus" : "si->startmediatransmisionStatus"}
+debug = 1
+
+def xml2obj(src):
+ """
+ A function to converts XML data into native Python objects.
+
+ """
+ non_id_char = re.compile('[^_0-9a-zA-Z]')
+
+ def _name_mangle(name):
+ return non_id_char.sub('_', name)
+
+ class DataNode(object):
+ def __init__(self):
+ self._attrs = {} # XML attributes and child elements
+ self.data = None # child text data
+ self.parent = None
+ self.basemessage = None
+ self.intsize = 0
+ self._children = []
+ self.declared = []
+
+ def __len__(self):
+ # treat single element as a list of 1
+ return 1
+ def __getitem__(self, key):
+ if isinstance(key, basestring):
+ return self._attrs.get(key,None)
+ else:
+ return [self][key]
+
+ def __contains__(self, name):
+ return self._attrs.has_key(name)
+
+ def __nonzero__(self):
+ return bool(self._attrs or self.data)
+
+ def __getattr__(self, name):
+ if name.startswith('__'):
+ # need to do this for Python special methods???
+ raise AttributeError(name)
+ return self._attrs.get(name,None)
+
+ def _add_xml_attr(self, name, value):
+ if name in self._attrs:
+ # multiple attribute of the same name are represented by a list
+ children = self._attrs[name]
+ if not isinstance(children, list):
+ children = [children]
+ self._attrs[name] = children
+ children.append(value)
+ else:
+ self._attrs[name] = value
+
+ def _add_child(self, name, value):
+ #print "adding : %s / %s to %s" %(name,value, self.__class__)
+ self._children.append(value)
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def keys(self):
+ return self._attrs.keys()
+
+ def __repr__(self):
+ items = {}
+ if self.data:
+ items.append(('data', self.data))
+ return u'{%s}' % ', '.join([u'%s:%s' % (k,repr(v)) for k,v in items])
+
+ def __setitem__(self, key, value):
+ self._attrs[key] = value
+
+ def getfieldnames(self):
+ return ''
+
+ def declaration(self):
+ global fieldsArray
+ if self.name not in fieldsArray:
+ fieldsArray[self.name] = '/* UNKNOWN { &hf_skinny_%s,\n {\n"%s", "skinny.%s", FT_UINT32, BASE_DEC, NULL, 0x0,\n "%s", HFILL }}, */\n' %(self.name, self.name, self.name, self.comment)
+ return ''
+
+ def dissect(self):
+ return self.name or ''
+
+ def incr_indent(self):
+ global indentation
+ global indent_str
+ indentation += 1
+ indent_str = ''
+ for x in range(0, indentation):
+ indent_str += ' '
+
+ def decr_indent(self):
+ global indentation
+ global indent_str
+ indentation -= 1
+ indent_str = ''
+ for x in range(0, indentation):
+ indent_str += ' '
+
+ def indent_out(self, string):
+ return indent_str + string
+
+
+ class Message(DataNode):
+ ''' Message '''
+ def __str__(self):
+ return self.name
+
+ def gen_handler(self):
+ if self.fields is None:
+ # skip whole message and return NULL as handler
+ return 'NULL'
+ return 'handle_%s' %self.name
+
+ def dissect(self):
+ ret = ''
+ declarations = 0
+
+ if (self.fields is not None):
+ ret += self.indent_out("/*\n")
+ ret += self.indent_out(" * Message: %s\n" %self.name)
+ ret += self.indent_out(" * Opcode: %s\n" %self.opcode)
+ ret += self.indent_out(" * Type: %s\n" %self.type)
+ ret += self.indent_out(" * Direction: %s\n" %self.direction)
+ ret += self.indent_out(" * VarLength: %s\n" %self.dynamic)
+ if self.comment:
+ ret += self.indent_out(" * Comment: %s\n" %self.comment)
+ ret += self.indent_out(" */\n")
+ ret += self.indent_out("static void\n")
+ ret += self.indent_out("handle_%s(ptvcursor_t *cursor, packet_info * pinfo _U_)\n" %self.name)
+ ret += self.indent_out("{\n")
+ self.incr_indent()
+ for fields in self.fields:
+ if fields.size_gt:
+ if self.basemessage.declared is None or "hdr_data_length" not in self.basemessage.declared:
+ ret += self.indent_out("guint32 hdr_data_length = tvb_get_letohl(ptvcursor_tvbuff(cursor), 0);\n")
+ self.basemessage.declared.append("hdr_data_length")
+ declarations += 1
+ if not declarations:
+ for fields in self.fields[1:]:
+ if self.basemessage.declared is None or "hdr_version" not in self.basemessage.declared:
+ ret += self.indent_out("guint32 hdr_version = tvb_get_letohl(ptvcursor_tvbuff(cursor), 4);\n")
+ self.basemessage.declared.append("hdr_version")
+ declarations += 1
+ for fields in self.fields:
+ ret += '%s' %fields.declaration()
+ declarations += 1
+
+ if declarations > 1:
+ ret += "\n"
+
+ #ret += self.indent_out('if (!cursor || !pinfo) {return;}\n\n') # ugly check to get rid of compiler warning about unused parameters
+ if (self.fields is not None):
+ for fields in self.fields:
+ ret += '%s' %fields.dissect()
+ self.decr_indent()
+ ret += "}\n\n"
+ return ret
+
+ class Fields(DataNode):
+ ''' Fields '''
+ size_fieldnames= []
+
+ def declaration(self):
+ ret = ''
+
+ #ret += '/* Fields Declaration */'
+
+ for field in self._children:
+ ret += '%s' %(field.declaration())
+ self.intsize += field.intsize
+ return ret
+
+ def dissect(self, lookupguide=""):
+ ret = ''
+ ifstarted = 0
+ #ret += "/* [PARENT: %s, BASEMESSAGE: %s] */\n" %(self.parent.name,self.basemessage.name)
+
+ if ((self.beginversion or self.endversion) and (self.beginversion != "0" or self.endversion != "22")):
+
+ ifstarted = 1
+ ret += self.indent_out('if (')
+ if (self.beginversion and self.beginversion != "0"):
+ if (not self.endversion or self.endversion == "22"):
+ ret += 'hdr_version >= V%s_MSG_TYPE) {\n' %self.beginversion
+ else:
+ ret += 'hdr_version >= V%s_MSG_TYPE && ' %self.beginversion
+ if (self.endversion and self.endversion != "22"):
+ ret += 'hdr_version <= V%s_MSG_TYPE) {\n' %self.endversion
+ self.incr_indent()
+
+ if self.size_gt:
+ ret += self.indent_out('if (hdr_data_length > %s) {\n' %self.size_gt)
+ self.incr_indent()
+
+ # generate dissection
+ for field in self._children:
+ ret += '%s' %(field.dissect())
+
+ if self.size_gt:
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+
+ if ifstarted:
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+
+ return ret;
+
+ class Integer(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+ self.intsize = 0
+ self.endian = "ENC_LITTLE_ENDIAN"
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ ret = ''
+
+ int_sizes = {'uint32':4,'uint16':2,'uint8':1,'int32':4,'int16':2,'int8':1,'ipport':4}
+ if self.endianness == "big":
+ self.endian = "ENC_BIG_ENDIAN"
+ if self.type in int_sizes:
+ self.intsize = int_sizes[self.type]
+ else:
+ print "ERROR integer %s with type: %s, could not be found" %(self.name, self.type)
+
+ if self.declare == "yes":
+ if self.basemessage.declared is None or self.name not in self.basemessage.declared:
+ ret += self.indent_out('g%s %s = 0;\n' %(self.type, self.name))
+ self.basemessage.declared.append(self.name)
+
+ global fieldsArray
+ if self.name not in fieldsArray:
+ fieldsArray[self.name] ='{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_UINT%d, BASE_DEC, NULL, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), self.intsize * 8, '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ret
+
+ def dissect(self):
+ ret = ''
+
+ size = 0
+ if self.size_fieldname:
+ if self.basemessage.dynamic == "yes":
+ size = self.size_fieldname
+ else:
+ size = self.maxsize
+ elif self.size:
+ size = self.size
+
+ if size:
+ variable = 'counter_%d' %indentation
+ ret += self.indent_out('{\n')
+ self.incr_indent()
+ ret += self.indent_out('guint32 %s = 0;\n' %(variable));
+ if self.size_fieldname:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [ref: %s = %%d, max:%s]", %s);\n' %(self.name, self.size_fieldname, size, self.size_fieldname))
+ else:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [max:%s]");\n' %(self.name, size))
+ ret += self.indent_out('for (%s = 0; %s < %s; %s++) {\n' %(variable, variable, size, variable));
+ if self.basemessage.dynamic == "no" and self.size_fieldname:
+ self.incr_indent()
+ ret += self.indent_out('if (%s < %s) {\n' %(variable,self.size_fieldname))
+ self.incr_indent()
+
+ if self.declare == "yes":
+ if self.endianness == "big":
+ if (self.intsize == 4):
+ ret += self.indent_out('%s = tvb_get_ntohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ elif (self.intsize == 2):
+ ret += self.indent_out('%s = tvb_get_ntohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ else:
+ ret += self.indent_out('%s = tvb_get_guint8(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ else:
+ if (self.intsize == 4):
+ ret += self.indent_out('%s = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ elif (self.intsize == 2):
+ ret += self.indent_out('%s = tvb_get_letohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ else:
+ ret += self.indent_out('%s = tvb_get_guint8(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+
+ if self.name in si_fields.keys():
+ ret += self.indent_out('%s = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(si_fields[self.name]))
+
+ ret += self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, %d, %s);\n' %(self.name, self.intsize, self.endian))
+
+ if size:
+ if self.basemessage.dynamic == "no" and self.size_fieldname:
+ self.decr_indent()
+ ret += self.indent_out('} else {\n')
+ ret += self.indent_out(' ptvcursor_advance(cursor, %d);\n' %self.intsize)
+ ret += self.indent_out('}\n')
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+ ret += self.indent_out('ptvcursor_pop_subtree(cursor); /* end for loop tree: %s */\n' %self.name)
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+ return ret
+
+ class Enum(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+ self.intsize = 0
+ self.sparse = 0
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ ret = ''
+ prevvalue = 0
+ enum_sizes = {'uint32':4,'uint16':2,'uint8':1}
+ if self.type in enum_sizes:
+ self.intsize = enum_sizes[self.type]
+ else:
+ print "ERROR enum %s with type: %s, could not be found" %(self.name, self.type)
+
+ if self.declare == "yes":
+ if self.basemessage.declared is None or self.name not in self.basemessage.declared:
+ ret += self.indent_out('g%s %s = 0;\n' %(self.type, self.name))
+ self.basemessage.declared.append(self.name)
+
+ global fieldsArray
+ if self.name not in fieldsArray:
+ fieldsArray[self.name] ='{&hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_UINT%d, BASE_HEX | BASE_EXT_STRING, &%s_ext, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), self.intsize * 8, self.subtype[0].upper() + self.subtype[1:], '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ret
+
+ def dissect(self):
+ ret = ''
+ endian = "ENC_LITTLE_ENDIAN"
+
+
+ size = 0
+ if self.size_fieldname:
+ if self.basemessage.dynamic == "yes":
+ size = self.size_fieldname
+ else:
+ size = self.maxsize
+ elif self.size:
+ size = self.size
+
+ if size:
+ variable = 'counter_%d' %indentation
+ ret += self.indent_out('{\n')
+ self.incr_indent()
+ ret += self.indent_out('guint32 %s = 0;\n' %(variable));
+ if self.size_fieldname:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [ref: %s = %%d, max:%s]", %s);\n' %(self.name, self.size_fieldname, size, self.size_fieldname))
+ else:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [max:%s]");\n' %(self.name, size))
+ ret += self.indent_out('for (%s = 0; %s < %s; %s++) {\n' %(variable, variable, size, variable));
+ if self.basemessage.dynamic == "no" and self.size_fieldname:
+ self.incr_indent()
+ ret += self.indent_out('if (%s < %s) {\n' %(variable,self.size_fieldname))
+ self.incr_indent()
+
+ if self.name in si_fields.keys():
+ ret += self.indent_out('%s = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(si_fields[self.name]))
+
+ if self.declare == "yes":
+ if (self.intsize == 4):
+ ret += self.indent_out('%s = tvb_get_letohl(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ elif (self.intsize == 2):
+ ret += self.indent_out('%s = tvb_get_letohs(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+ else:
+ ret += self.indent_out('%s = tvb_get_guint8(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor));\n' %(self.name))
+
+ ret += self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, %d, %s);\n' %(self.name, self.intsize, endian))
+
+ if size:
+ if self.basemessage.dynamic == "no" and self.size_fieldname:
+ self.decr_indent()
+ ret += self.indent_out('} else {\n')
+ ret += self.indent_out(' ptvcursor_advance(cursor, 4);\n')
+ ret += self.indent_out('}\n')
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+ ret += self.indent_out('ptvcursor_pop_subtree(cursor); /* end for loop tree: %s */\n' %self.name)
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+ return ret
+
+ class String(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ ret = ''
+ self.intsize = 0
+ if self.size:
+ if self.size=="VariableDirnumSize":
+ self.intsize = 24
+ else:
+ self.intsize = int(self.size)
+ elif self.maxsize and self.basemessage.dynamic == "no":
+ self.intsize = int(self.maxsize)
+
+ if self.declare == "yes":
+ if self.size=="VariableDirnumSize":
+ if self.basemessage.declared is None or "VariableDirnumSize" not in self.basemessage.declared:
+ if self.basemessage.declared is None or "hdr_version" not in self.basemessage.declared:
+ #if (self.basemessage.fields is not None and len(self.basemessage.fields) == 1):
+ ret += self.indent_out('guint32 hdr_version = tvb_get_letohl(ptvcursor_tvbuff(cursor), 4);\n')
+ self.basemessage.declared.append("hdr_version")
+ ret += self.indent_out('guint32 VariableDirnumSize = (hdr_version >= V18_MSG_TYPE) ? 25 : 24;\n')
+ self.basemessage.declared.append("VariableDirnumSize")
+ else:
+ if self.basemessage.declared is None or self.name not in self.basemessage.declared:
+ ret += self.indent_out('guint32 %s = 0;\n' %self.name)
+ self.basemessage.declared.append(self.name)
+
+ if self.basemessage.dynamic == "yes" and not self.subtype == "DisplayLabel":
+ if self.basemessage.declared is None or self.name + '_len' not in self.basemessage.declared:
+ ret += self.indent_out('guint32 %s_len = 0;\n' %self.name)
+ self.basemessage.declared.append(self.name + '_len')
+
+ global fieldsArray
+ if self.name not in fieldsArray:
+ fieldsArray[self.name] = '{&hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_STRING, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ret
+
+ def dissect(self):
+ ret = ''
+
+ if self.declare == "yes" and self.size != "VariableDirnumSize":
+ ret += self.indent_out('%s = tvb_get_letohl(ptvcursor_tvbuff(cursor), 4);\n' %self.name)
+
+ if self.subtype == "DisplayLabel":
+ if self.basemessage.dynamic == "yes":
+ ret += self.indent_out('dissect_skinny_displayLabel(cursor, hf_skinny_%s, 0, %d);\n' %(self.name, self.intsize))
+ elif self.size_fieldname:
+ ret += self.indent_out('dissect_skinny_displayLabel(cursor, hf_skinny_%s, %s, %d);\n' %(self.name, self.size_fieldname, self.intsize))
+ else:
+ ret += self.indent_out('dissect_skinny_displayLabel(cursor, hf_skinny_%s, %s, %d);\n' %(self.name, self.size, self.intsize))
+
+ elif self.basemessage.dynamic == "yes":
+ ret += self.indent_out('%s_len = tvb_strnlen(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor), -1)+1;\n' %self.name)
+ ret += self.indent_out('if (%s_len > 1) {\n' %self.name)
+ if self.name in si_fields.keys():
+ ret += self.indent_out(' %s = g_strdup(tvb_format_stringzpad(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor), %s_len));\n' %(si_fields[self.name], self.name))
+ ret += self.indent_out(' ptvcursor_add(cursor, hf_skinny_%s, %s_len, ENC_ASCII|ENC_NA);\n' %(self.name, self.name))
+ ret += self.indent_out('} else {\n')
+ ret += self.indent_out(' ptvcursor_advance(cursor, 1);\n')
+ ret += self.indent_out('}\n')
+ elif self.size_fieldname:
+ if self.name in si_fields.keys():
+ ret += self.indent_out('%s = g_strdup(tvb_format_stringzpad(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor), %s));\n' %(si_fields[self.name], self.size_fieldname))
+ ret += self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, %s, ENC_ASCII|ENC_NA);\n' %(self.name, self.size_fieldname))
+ else:
+ if self.name in si_fields.keys():
+ ret += self.indent_out('%s = g_strdup(tvb_format_stringzpad(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor), %s));\n' %(si_fields[self.name], self.size))
+ ret += self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, %s, ENC_ASCII|ENC_NA);\n' %(self.name, self.size))
+
+ return ret
+
+ class Ether(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ ret = ''
+ self.intsize = 6
+ if self.size:
+ self.intsize = int(self.size)
+ elif self.maxsize and self.basemessage.dynamic == "no":
+ self.intsize = int(self.maxsize)
+
+ if self.declare == "yes":
+ if self.basemessage.declared is None or self.name not in self.basemessage.declared:
+ ret += self.indent_out('guint32 %s = 0;\n' %self.name)
+ self.basemessage.declared.append(self.name)
+
+ if self.basemessage.dynamic == "yes":
+ if self.basemessage.declared is None or self.name + '_len' not in self.basemessage.declared:
+ ret += self.indent_out('guint32 %s_len = 0;\n' %self.name)
+ self.basemessage.declared.append(self.name + '_len')
+
+ global fieldsArray
+ if self.name not in fieldsArray:
+ fieldsArray[self.name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_ETHER, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ret
+
+ def dissect(self):
+ ret = ''
+
+ if self.basemessage.dynamic == "yes":
+ ret += self.indent_out('%s_len = tvb_strnlen(ptvcursor_tvbuff(cursor), ptvcursor_current_offset(cursor), -1)+1;\n' %self.name)
+ ret += self.indent_out('if (%s_len > 1) {\n' %self.name)
+ ret += self.indent_out(' ptvcursor_add(cursor, hf_skinny_%s, 6, ENC_NA);\n' %(self.name, self.name))
+ ret += self.indent_out(' ptvcursor_advance(cursor, %s_len - 6);\n' %(self.name))
+ ret += self.indent_out('} else {\n')
+ ret += self.indent_out(' ptvcursor_advance(cursor, 1);\n')
+ ret += self.indent_out('}\n')
+ elif self.size_fieldname:
+ ret += self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, 6, ENC_NA);\n' %(self.name))
+ ret += self.indent_out('ptvcursor_advance(cursor, %s - 6);\n' %(self.size_fieldname))
+ else:
+ ret += self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, 6, ENC_NA);\n' %(self.name))
+ ret += self.indent_out('ptvcursor_advance(cursor, %s - 6);\n' %(self.size))
+ return ret
+
+ class BitField(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ global fieldsArray
+ ret = ''
+ int_sizes = {'uint32':4,'uint16':2,'uint8':1,'int32':4,'int16':2,'int8':1}
+ self.intsize = 0
+ if self.size in int_sizes:
+ self.intsize = int_sizes[self.size]
+
+ for entries in self.entries:
+ for entry in entries.entry:
+ if entry.name not in fieldsArray:
+ fieldsArray[entry.name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_BOOLEAN, %d, TFS(&tfs_yes_no), %s,\n %s, HFILL }},\n' %(entry.name, entry.text, entry.name.replace("_","."), self.intsize * 8, entry.value, '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+
+ return ret
+
+ def dissect(self):
+ ret = ''
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s");\n' %(self.name))
+ for entries in self.entries:
+ for entry in entries.entry:
+ ret += self.indent_out('ptvcursor_add_no_advance(cursor, hf_skinny_%s, %d, ENC_LITTLE_ENDIAN);\n' %(entry.name, self.intsize))
+ ret += self.indent_out('ptvcursor_advance(cursor, %d);\n' %(self.intsize))
+ ret += self.indent_out('ptvcursor_pop_subtree(cursor); /* end bitfield: %s */\n' %(self.name))
+
+
+ return ret
+
+ class Ip(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+ self.intsize = 4
+ if self.type == "ipv6":
+ self.intsize = 16
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ global fieldsArray
+ if self.name not in fieldsArray:
+ if self.type == "ipv4":
+ fieldsArray[self.name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_IPv4, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ else:
+ fieldsArray[self.name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_IPv6, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ''
+
+ def dissect(self):
+ if self.type == "ipv4":
+ return self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, 4, ENC_BIG_ENDIAN);\n' %self.name)
+ else:
+ return self.indent_out('ptvcursor_add(cursor, hf_skinny_%s, 16, ENC_BIG_ENDIAN);\n' %self.name)
+
+ class Ipv4or6(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+ self.intsize = 4
+ if self.endianness is None:
+ self.intsize += 16
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ global fieldsArray
+ name = self.name + '_ipv4'
+ if name not in fieldsArray:
+ fieldsArray[name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_IPv4, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(name, self.name + ' IPv4 Address', name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ name = self.name + '_ipv6'
+ if name not in fieldsArray:
+ fieldsArray[name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_IPv6, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(name, self.name + ' IPv6 Address', name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ''
+
+ def dissect(self):
+ return self.indent_out('dissect_skinny_ipv4or6(cursor, hf_skinny_%s_ipv4, hf_skinny_%s_ipv6, pinfo);\n' %(self.name, self.name))
+
+ class XML(DataNode):
+ def __init__(self):
+ DataNode.__init__(self)
+ self.intsize = 0
+
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ global fieldsArray
+
+ if self.size:
+ self.intsize = int(self.size)
+ elif self.maxsize:
+ self.intsize = int(self.maxsize)
+
+ if self.name not in fieldsArray:
+ fieldsArray[self.name] = '{ &hf_skinny_%s,\n {\n "%s", "skinny.%s", FT_STRING, BASE_NONE, NULL, 0x0,\n %s, HFILL }},\n' %(self.name, self.comment if (self.comment and self.longcomment) else self.name, self.name.replace("_","."), '"' + self.longcomment + '"' if self.longcomment else '"' + self.comment + '"' if self.comment else 'NULL')
+ return ''
+
+ def dissect(self):
+ ret = ''
+ if self.size_fieldname:
+ ret += self.indent_out('dissect_skinny_xml(cursor, hf_skinny_%s, pinfo, %s, %d);\n' %(self.name, self.size_fieldname, self.intsize))
+ else:
+ ret += self.indent_out('dissect_skinny_xml(cursor, hf_skinny_%s, pinfo, 0, %d);\n' %(self.name, self.intsize))
+ return ret
+
+ class Struct(DataNode):
+ def __str__(self):
+ return '// Struct : %s / %s / %s / %s\n' %(self.name, self.size, self.field_sizename, self.maxsize)
+
+ def declaration(self):
+ ret = ''
+
+ if (self.fields is not None and len(self.fields)):
+ if (len(self.fields) > 1):
+ if self.basemessage.declared is None or "hdr_version" not in self.basemessage.declared:
+ ret += self.indent_out("guint32 hdr_version = tvb_get_letohl(ptvcursor_tvbuff(cursor), 4);\n")
+ self.basemessage.declared.append("hdr_version")
+ for fields in self.fields:
+ ret += '%s' %fields.declaration()
+ self.intsize += fields.intsize
+
+ return ret
+
+ def dissect(self):
+ ret = ''
+ variable = 'counter_%d' %indentation
+ size = 0
+
+ if self.size_fieldname:
+ if self.basemessage.dynamic == "yes":
+ size = self.size_fieldname
+ else:
+ size = self.maxsize
+ elif self.size:
+ size = self.size
+
+ if size:
+ ret += self.indent_out('{\n')
+ self.incr_indent()
+ if debug:
+ ret += self.indent_out('/* start struct : %s / size: %d */\n' %(self.name, self.intsize))
+ ret += self.indent_out('guint32 %s = 0;\n' %(variable));
+ if self.size_fieldname:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [ref: %s = %%d, max:%s]", %s);\n' %(self.name, self.size_fieldname, size, self.size_fieldname))
+ else:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [max:%s]");\n' %(self.name, size))
+ ret += self.indent_out('for (%s = 0; %s < %s; %s++) {\n' %(variable, variable, size, variable));
+ if self.basemessage.dynamic == "no" and self.size_fieldname:
+ self.incr_indent()
+ ret += self.indent_out('if (%s < %s) {\n' %(variable,self.size_fieldname))
+ self.incr_indent()
+ else:
+ ret += self.indent_out('{\n')
+ self.incr_indent()
+ if debug:
+ ret += self.indent_out('/* start struct : %s / size: %d */\n' %(self.name, self.intsize))
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s");\n' %(self.name))
+
+ if size:
+ if self.size_fieldname:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [%%d / %%d]", %s + 1, %s);\n' %(self.name, variable, self.size_fieldname))
+ else:
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s [%%d / %%d]", %s + 1, %s);\n' %(self.name, variable, size))
+
+ if (self.fields is not None and len(self.fields)):
+ for fields in self.fields:
+ ret += '%s' %fields.dissect()
+
+ if self.basemessage.dynamic == "no" and self.size_fieldname:
+ self.decr_indent()
+ ret += self.indent_out('} else {\n')
+ ret += self.indent_out(' ptvcursor_advance(cursor, %d);\n' %(self.intsize))
+ ret += self.indent_out('}\n')
+
+ if size:
+ ret += self.indent_out('ptvcursor_pop_subtree(cursor);\n')
+ if debug:
+ ret += self.indent_out('/* end for loop tree: %s */\n' %self.name)
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+
+ ret += self.indent_out('ptvcursor_pop_subtree(cursor);\n')
+ ret += self.indent_out('/* end struct: %s */\n' %self.name)
+ self.decr_indent()
+ ret += self.indent_out('}\n')
+
+ return ret
+
+ class Union(DataNode):
+ def __str__(self):
+ return '%s:%s' %(self.__class__,self.name)
+
+ def declaration(self):
+ ret = ''
+ self.maxsize = 0
+ if (self.fields is not None and len(self.fields)):
+ if (len(self.fields) > 1):
+ if self.basemessage.declared is None or "hdr_version" not in self.basemessage.declared:
+ ret += self.indent_out("guint32 hdr_version = tvb_get_letohl(ptvcursor_tvbuff(cursor), 4);\n")
+ self.basemessage.declared.append("hdr_version")
+ for fields in self.fields:
+ ret += '%s' %fields.declaration()
+ previous_lookup_eq = fields._children[0].lookup_eq
+ previous_lookup_le = fields._children[0].lookup_le
+ previous_lookup_ge = fields._children[0].lookup_ge
+ self.runningtotal = 0
+ for field in fields._children:
+ if previous_lookup_eq != field.lookup_eq or previous_lookup_le != field.lookup_le or previous_lookup_ge == field.lookup_ge:
+ previous_lookup_eq = field.lookup_eq
+ previous_lookup_le = field.lookup_le
+ previous_lookup_ge = field.lookup_ge
+ self.runningtotal = 0
+
+ self.runningtotal += field.intsize
+ if self.runningtotal > self.maxsize:
+ self.maxsize = self.runningtotal
+
+ self.intsize = self.maxsize
+
+ return ret
+
+ def dissect(self):
+ ret = ''
+ ifblock = self.indent_out('if')
+ skip = 0
+ #ret += self.indent_out('/* Union : %s / maxsize: %s */\n' %(self.name, self.maxsize))
+
+ if (self.fields is not None and len(self.fields)):
+ for fields in self.fields:
+ for field in fields._children:
+ if self.lookup_guide and (field.lookup_ge or field.lookup_le or field.lookup_eq):
+ lookupguide = self.lookup_guide
+ # start block
+ subtree_text = ''
+ if field.lookup_ge and field.lookup_le:
+ ret += '%s (%s >= %s && %s <= %s)' %(ifblock, lookupguide, field.lookup_ge.upper(), lookupguide, field.lookup_le.upper())
+ subtree_text = "%s <= %s <= %s" %(field.lookup_ge, lookupguide, field.lookup_le)
+ elif field.lookup_ge:
+ ret += '%s (%s >= %s)' %(ifblock, lookupguide, field.lookup_ge.upper())
+ subtree_text = "%s >= %s" %(lookupguide, field.lookup_ge)
+ elif field.lookup_le:
+ ret += '%s (%s <= %s)' %(ifblock, lookupguide, field.lookup_le.upper())
+ subtree_text = "%s <= %s" %(lookupguide, field.lookup_le)
+ elif field.lookup_eq:
+ if field.lookup_eq == "*":
+ ret += ' else'
+ subtree_text = "any %s" %(lookupguide)
+ elif field.lookup_eq == "skip":
+ continue
+ else:
+ ret += '%s (%s == %s)' %(ifblock, lookupguide, field.lookup_eq.upper())
+ subtree_text = "%s is %s" %(lookupguide, field.lookup_eq)
+
+ ret += self.indent_out(' {\n')
+ self.incr_indent()
+ if debug:
+ ret += self.indent_out('/* start union : %s / maxsize: %s */\n' %(self.name, self.maxsize))
+ currsize = 0
+ # dissect field
+
+ ret += self.indent_out('ptvcursor_add_text_with_subtree(cursor, SUBTREE_UNDEFINED_LENGTH, ett_skinny_tree, "%s");\n' %subtree_text)
+ ret += '%s' %field.dissect()
+ ret += self.indent_out('ptvcursor_pop_subtree(cursor);\n')
+
+ currsize += field.intsize
+
+ # compensate length
+ if (self.maxsize - currsize) > 0:
+ ret += self.indent_out('ptvcursor_advance(cursor, %d);\n' %(self.maxsize - currsize))
+
+ self.decr_indent()
+
+ # close block
+ ret += self.indent_out('}')
+ ifblock = ' else if'
+ else:
+ ret += '/* ERROR %s, missing lookup_guide */' %field.dissect()
+ ret += '\n'
+
+ return ret
+
+ class TreeBuilder(xml.sax.handler.ContentHandler):
+ def __init__(self):
+ self.stack = []
+ self.root = DataNode()
+ self.previous = self.root
+ self.current = self.root
+ self.basemessage = None
+ self.text_parts = []
+ def startElement(self, name, attrs):
+ objecttype = {"message": Message(), "fields": Fields(), "enum" : Enum(), "bitfield" : BitField(), "struct": Struct(), "union": Union(), "integer": Integer(), "string": String(), "ether": Ether(), "ip": Ip(), "ipv4or6": Ipv4or6(), "xml": XML()}
+ self.previous = self.current
+ self.stack.append((self.current, self.text_parts))
+ if name in objecttype.keys():
+ self.current = objecttype[name]
+ else:
+ self.current = DataNode()
+ if name == "message":
+ self.basemessage = self.current
+ self.text_parts = []
+ #self.children = []
+ self.current.parent = self.previous
+ self.current.basemessage = self.basemessage
+ # xml attributes --> python attributes
+ for k, v in attrs.items():
+ self.current._add_xml_attr(_name_mangle(k), v)
+
+ def endElement(self, name):
+ text = ''.join(self.text_parts).strip()
+ if text:
+ self.current.data = text
+ if self.current._attrs:
+ obj = self.current
+ else:
+ # a text only node is simply represented by the string
+ obj = text or ''
+ self.current, self.text_parts = self.stack.pop()
+ self.current._add_xml_attr(_name_mangle(name), obj)
+ self.current._add_child(_name_mangle(name), obj)
+ def characters(self, content):
+ self.text_parts.append(content)
+
+ builder = TreeBuilder()
+ xml.sax.parse(src, builder)
+ return builder.root._attrs.values()[0]
+
+# skinny = xml2obj('SkinnyProtocolOptimized.xml')
+# for message in skinny.message:
+# print '%s' %message.dissect()
+
+#if __name__ == '__main__':
+# import timeit
+# print(timeit.timeit("generateMessageDissectors()", setup="from __main__ import generateMessageDissectors"))
+
+
+#skinny = xml2obj('SkinnyProtocolOptimized.xml')
+#for message in skinny.message:
+# message.dissect()
+
+#for key,value in fieldsArray.items():
+# print "%s : %s" %(key,value)
+#print '%r\n' %fieldsArray
+
+#skinny = xml2obj('SkinnyProtocolOptimized.xml')
+#for message in skinny.message:
+# print message.declaration()