Thanks for detailed reply and sharing the valuable information. You are
right i should also post this on discuss-webrtc forum, will do after i get
a fresh call trace, possibly tomorrow.
Regarding your questions, yes the call establishes successfully at
signalling level and audio stream works perfectly fine. I see DTLS
certificates generated, sent, received, accepted etc. in RTPEngine logs.
Both SIP and WebRTC clients successfully negotiate ICE and choose RTPEngine
for media relay. However, the SIP client looses video after 1-2 seconds of
call establishment, the audio still works during the entire call. So, i am
convinced that problem is entirely related to video as far as the call
establishment is concerned.
The WebRTC client is based on JSSIP but i am not aware of any config or
method that may give us such control over media in response to this SIP
INFO method. Any experienced JSSIP users / developers out there who may
help on this?
The SIP client is based on a commercial SIP SDK. Both WebRTC and SIP
clients work perfectly fine as long as other end is same, i.e. SIP to SIP
and WebRTC to WebRTC video calls work as expected under same network
conditions. Each client has only one video codec enabled, which is VP8,
without any trans-coding etc. involved in between.
Thank you.
On Sun, Feb 1, 2015 at 8:04 AM, Gonzalo Gasca Meza <gascagonzalo(a)gmail.com>
wrote:
Hi Muhammad
Can you comment if initially endpoints are receiving what is necessary to
start sending Media at signaling level. For example: Successful ICE and
SRTP-SDES/DTLS negotiation.
I see two issues here:
a) Establish a successful call
b) Once call is established how to deal with packet loss. Check this
paper:
http://static.googleusercontent.com/media/research.google.com/sv//pubs/arch…
From your email: "Force WebRTC client (running on Chrome / Firefox) to
honor SIP INFO message and issue a key-frame in RTP video stream in
response to this SIP request?"
WebRTC in the browser depends on a upper transport layer in your case a
SIP stack. Example: sipml5, sip.js, etc. Hence you need to modify that part
there; so your signaling stack should interact with the Browser Media
Engine upon recieving SIP INFO.
Questions:
1. I would suggest to start a conversation in discuss-webrtc in Google
Groups.
-Which SIP stack are you using on the WebRTC client side?
-Can you upload logs from WebRTC client and SIP client.
(WebRTC/SIP/SIP stack)
-Topology and browser version
-Codec: VP8/H.264. This will help us to understand how media is
handled.
If you do a packet capture can you still see Browser sending Video to SIP
Client after those initial 5-7 seconds. (Check Webrtc logs/packet capture)
Some details about WebRTC handling packet loss.
https://groups.google.com/forum/#!topic/discuss-webrtc/0ZbxO05a9Zk
HTH
Thanks
-G
On Thu, Jan 29, 2015 at 2:56 PM, Muhammad Shahzad <shaheryarkh(a)gmail.com>
wrote:
Hi,
This may be a bit out of focus topic for this forum but i am posting it
here anyway with hope that some guru would shed some light on it and point
me to right direction.
The problem is that i want to establish video call between a webrtc and a
sip client using kamailio (for signalling) and RTPEngine (for media relay).
Both signalling and the audio stream seems to work perfectly fine The
remote video on webrtc client side (i.e. video stream from sip client)
takes about 20-30 seconds to establish but once it starts it works fine.
However, the remote video on sip client side (i.e. video stream from webrtc
client) starts almost immediately (within 3-5 seconds) but it gets stuck
after 1 or 2 seconds, then it goes blank after about 30 seconds.
After a long discussion with sip client developer, we now understand the
fact that sip client sends a request for so called key-frame, which is
ignored by webrtc client. This request is sent through both RTCP stream and
SIP INFO message.
The SIP INFO message seems to be pointless as media is internally managed
by chrome/firefox and these browsers don't give us such sophisticated
access and control over media streams. Please let me know if this
assumption is wrong.
For the RTCP stream based request (RTCP-FIR), i only see "Invalid RTCP
packet type" error message in RTPEngine logs (not sure if it drops this
packet or relay it anyway).
Does anyone has any idea on how can we either,
1. Force WebRTC client (running on Chrome / Firefox) to honor SIP INFO
message and issue a key-frame in RTP video stream in response to this SIP
request?
OR
2. Force RTPEngine to accept RTCP-FIR and issue key-frame in RTP video
stream on webrtc client's behalf?
If there is any other solution to this, please feel free to share.
Thank you.
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users