diff options
author | Diederik de Groot <ddegroot@talon.nl> | 2014-08-13 12:44:57 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2014-08-24 12:55:10 +0000 |
commit | 276a697a6b57205f15975e6e740bd427b7b510d1 (patch) | |
tree | 6418affca8e444462470b4c946d143a728c1046d /tools | |
parent | cda5c166674485f77435d1e95d482852a83c142d (diff) |
[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.xml | 4062 | ||||
-rwxr-xr-x | tools/parse_xml2skinny_dissector.py | 888 |
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() |