1、概述
SIPML5与webRTC2SIP通过webSocket连接,通过发送SIP信令进行会话协商 。
2、SIPML5参数设置
[1] The RTCWeb Breaker is used to enable audio and video transcoding when the endpoints do not support the same codecs or the remote server is not RTCWeb-compliant. Please note that the Media Coder will most likely be disabled on the sipml5.org hosted server.
For example, you can enable this feature if:
- You want to make call from/to Chrome to/from Firefox Nightly
- You're using any RTCWeb-capable browser and trying to call the PSTN network
- You're using any RTCWeb-capable browser and trying to call any SIP client (e.g. xlite) not implementing some mandatory features (e.g. ICE, DTLS-SRTP...)
- You're using Google Chrome which only support VP8 codec and trying to call a SIP-legacy client supporting only H.264, H.263, Theora or MP4V-ES
- Making audio/video calls from/to Google Chrome to/from Ericsson Bowser
- Your media server is not RTCWeb-capable (e.g. FreeSWITCH)
[2] The WebSocket Server URL is only required if you're a developer and using your own SIP Proxy gateway not publicly reachable.
[3] The SIP outbound Proxy URL is used to set the destination IP address and Port to use for all outgoing requests regardless the domain name (a.k.a realm ). This is a good option for developers using a SIP domain name without valid DNS A/NAPTR/SRV records.
[4] This must be an array of STUN/TURN servers to use. The format is as explained at http://www.w3.org/TR/webrtc/#rtciceserver-type
To disable TURN/STUN to speedup ICE candidates gathering you can use an empty array. e.g. [] .
Example: [{ url: 'stun:stun.l.google.com:19302'}, { url:'turn:user@numb.viagenie.ca', credential:'myPassword'}]
[5] Defines the maximum audio and video bandwidth to use. This will change the outhoing SDP to include a "b:AS=" attribute. Use 0 to let the browser negotiates the right value using RTCP-REMB and congestion control.
Example: { audio:64, video:512 }
[6] Defines the maximum and minimum video size to be used. All values are optional. The browser will try to find the best video size between max and min based on the camera capabilities.
Example: { minWidth: 640, minHeight:480, maxWidth: 640, maxHeight:480 } . The { and } around the values are required.
[7] Whether to enable 3GGP Early IMS as per TR 33.978 . This option should not be checked unless you're using a real IMS/LTE network.
If earlyIMS is disabled then, authentication will be done as per 3GPP TS 24.229 - 5.1.1.2.2 .
[8] Whether to disable debug messages. SIPML5 supports #4 debug levels: INFO , WARN , ERROR and FATAL . Default level is INFO . Check this option to set the level value to ERROR .
[9] Whether to reuse the same media stream for all calls. If your website is not using https then, the browser will request access to the camera (or microphone) every time you try to make a call. Caching the media stream will avoid getting these notifications for each call.
[10] Whether to add options ( Audio , Video , Screen share ) in the the call button.