I had built a WebRTC system based on Asterisk and sipml5, and I could make audio calls on my smartphone(Android), but when I enables the video, the caller can get callee's video for about 5sec, and the callee cannot get video at all. Is there any settings needed in Asterisk?
sip.conf:
[2004]
type=friend
defaultuser=2004
username=2004
host=dynamic
secret=pass
encryption=yes
avpf=yes
icesupport=yes
context=rtc-01-dev.demo.net
directmedia=no
transport=udp,ws,wss
force_avp=yes
dtlsenable=yes
dtlsverify=no
dtlscertfile=/etc/asterisk/keys/asterisk.pem
dtlsprivatekey=/etc/asterisk/keys/asterisk.pem
dtlssetup=actpass
allow=vp8,h264
nat=yes
[2005]
type=friend
defaultuser=2005
username=2005
host=dynamic
secret=pass
encryption=yes
avpf=yes
icesupport=yes
context=rtc-01-dev.demo.net
directmedia=no
transport=udp,ws,wss
force_avp=yes
dtlsenable=yes
dtlsverify=no
dtlscertfile=/etc/asterisk/keys/asterisk.pem
dtlsprivatekey=/etc/asterisk/keys/asterisk.pem
dtlssetup=actpass
allow=vp8,h264
nat=yes
extensions.conf:
[rtc-01-dev.demo.net]
exten => _200Z,1,Dial(SIP/${EXTEN},30)
exten => _200Z,2,Congestion
exten => _200Z,102,Busy
Asterisk do nothing with your video, it just send packets it received.
There are no MCU features in asterisk
You should ensure video codecs AND resolution is SAME in all your apps.