====== RTCgate ====== RTCgate is the communication protocol in the websocket connection between wrtc_kit clients and the IXNX server. These commands are sent and received by wrtc_kit. Below information is for description only, wrtc_kit API users cannot directly access nor alter these commands. ===== wcw layer ===== The wcw layer takes care of roaming and retransmissions. * [[wcw layer documentation]] ===== Lines ===== The line layer takes care of managing multiple "phone lines", multiple calls made by the same client. * [[ixnx:wrtc:rtcgate:lines|line layer documentation]] ===== Commands ===== The RTCgate protocol consist of a number of commands sent between the client and the IXNX server through a websocket channel. The commands are string representation of JSON structures, with "type" indicating the type of command sent, followed by optional arguments: "{type:..., ..., ...}" ^ type ^ description ^ | [[ixnx:wrtc:rtcgate:answer|answer]] | SDP answering a call | | [[ixnx:wrtc:rtcgate:bye|bye]] | close line | | [[ixnx:wrtc:rtcgate:chat|chat]] | text message | | [[ixnx:wrtc:rtcgate:esc|esc]] | end call | | [[ixnx:wrtc:rtcgate:escall|escall]] | end all current calls | | [[ixnx:wrtc:rtcgate:fack|fack]] | file chunk reception acknowledge | | [[ixnx:wrtc:rtcgate:file|file]] | transfer file | | [[ixnx:wrtc:rtcgate:get_list|get_list]] | fetch list from IXNX server | | [[ixnx:wrtc:rtcgate:iam|Iam]] | register name | | [[ixnx:wrtc:rtcgate:iauth|Iauth]] | authentication answer | | [[ixnx:wrtc:rtcgate:ice_disconnected|ice_disconnected]] | ICE state disconnected | | [[ixnx:wrtc:rtcgate:ice_restart|ice_restart]] | restart ICE connection | | [[ixnx:wrtc:rtcgate:joingroup|joingroup]] | connect group call | | [[ixnx:wrtc:rtcgate:maintenance|maintenance]] | maintenance message from server | | [[ixnx:wrtc:rtcgate:mixer_io_control|mixer_io_control]] | request audio from voice bridge | | [[ixnx:wrtc:rtcgate:multi_user_info|multi_user_info]] | list of users at other end of call | | [[ixnx:wrtc:rtcgate:mute|mute]] | other end of call muted/unmuted mic or cam | | [[ixnx:wrtc:rtcgate:newsdp|newsdp]] | modified SDP offer during conversation | | [[ixnx:wrtc:rtcgate:offer|offer]] | SDP offer starting a call | | [[ixnx:wrtc:rtcgate:pranswer|pranswer]] | preliminary answer to call | | [[ixnx:wrtc:rtcgate:presence_publish|presence_publish]] | publish your own SIP presence status | | [[ixnx:wrtc:rtcgate:registertoken|registertoken]] | app push notification token | | [[ixnx:wrtc:rtcgate:rejected|rejected]] | command rejected by IXNX server | | [[ixnx:wrtc:rtcgate:req_vid|req_vid]] | request change of video bandwidth or quality | | [[ixnx:wrtc:rtcgate:ringing|ringing]] | remote client started to ring | | [[ixnx:wrtc:rtcgate:set_list|set_list]] | store list on IXNX server | | [[ixnx:wrtc:rtcgate:sip_presence_notify|sip_presence_notify]] | received SIP presence information | | [[ixnx:wrtc:rtcgate:sip_presence_subscribe|sip_presence_subscribe]] | subscribe to SIP presence information | | [[ixnx:wrtc:rtcgate:sip_raw_info|sip_raw_info]] | raw SIP INFO packets | | [[ixnx:wrtc:rtcgate:sipreg|sipreg]] | SIP registration status | | [[ixnx:wrtc:rtcgate:transfer|transfer]] | transfer call to other recipient | | [[ixnx:wrtc:rtcgate:transfer_result|transfer_result]] | transfer results info | | [[ixnx:wrtc:rtcgate:turn_auth|turn_auth]] | get TURN authentication credentials | | [[ixnx:wrtc:rtcgate:unauthorised|unauthorised]] | authentication request or failure | | [[ixnx:wrtc:rtcgate:welcome|welcome]] | authentication succeeded | | [[ixnx:wrtc:rtcgate:who|who]] | who are online | | [[ixnx:wrtc:rtcgate:wrtc_cmd|wrtc_cmd]] | user defined command | ===== Sequences ===== * [[ixnx:wrtc:rtcgate:digest_authentication|Digest authentication]] * [[ixnx:wrtc:rtcgate:rest_authentication|REST authentication]] * [[ixnx:wrtc:rtcgate:group_call_sequence|Group call]] ===== Additional details ===== * [[ixnx:wrtc:rtcgate:push_notification|Push notification]] * [[ixnx:wrtc:rtcgate:sdp_attributes|SDP attributes]]