[asterisk-bugs] [JIRA] (ASTERISK-24979) Webrtc client audio output is consistently skipping or missing non-continuous audio

Asterisk Team (JIRA) noreply at issues.asterisk.org
Fri Aug 14 10:17:33 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Asterisk Team updated ASTERISK-24979:
-------------------------------------

    Status: Waiting for Feedback  (was: Waiting for Feedback)

> Webrtc client audio output is consistently skipping or missing non-continuous audio
> -----------------------------------------------------------------------------------
>
>                 Key: ASTERISK-24979
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24979
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General, Resources/res_http_websocket
>    Affects Versions: 13.2.0, 13.3.2
>         Environment: Server: Ubuntu 14.04.1 LTS x86_64 
> web sockets server: Asterisk or webrtc2sip
> clients: sipml5 and jssip
>            Reporter: r mundkowsky
>            Assignee: Asterisk Team
>         Attachments: full-ips-removed.txt
>
>
> Steps that Cause error:
> 	
> webrtc client (WEBRTC_PUBLIC_IP using sipml5 or jssip via user 6002) makes audio call to extension 4000 on Asterisk (ASTRISK_PUBLIC_IP) via ws protocol directly or via webrtc2sip.  Asterisk answers, plays local audio file and dials SIP/4000 at JVXMLcloud1 peer (BROWSER_IP). SIP/4000 at JVXMLcloud1 peer then starts dialog with webrtc client. SIP/4000 at JVXMLcloud1 peer handles SIP traffic, but hands off RTP to sound server (SOUNDSRV_IP). webrtc client hangs up.
> Expected behavior:
> webrtc client has dialog with SIP/4000 at JVXMLcloud1 peer.  All audio sent from SIP/4000 at JVXMLcloud1 is heard by webrtc client.
> Actual behavior:
> webrtc client connects to Asterisk and hears Asterisk played audio file then hears some small parts of dialog that is expected from SIP/4000 at JVXMLcloud1 peer. webrtc client hangs-up before dialog is finished because no audio is heard after awhile.
> Notes:
> 1) The audio logs on Asterisk though have the complete audio to/from SIP/4000 at JVXMLcloud1, nothing is missing.  
> 2) Output audio sent to webrtc client is discontinuous (RTP send “hello”, pause (no RTP), …).  
> 3) Normal SIP/RTP clients (such as Noiper, Peers, PSTN/SIP) work correctly hearing full dialog from SIP/4000 at JVXMLcloud1 peer.  
> 4) Output to the webrtc client is fine if the webrtc client is called from a SIP/RTP client (such as Noiper, Peers) via Asterisk server.	
> sip.conf snippet:
> {noformat}
> [6002]
> transport=ws
> defaultuser=6002
> host=dynamic
> secret=AAAAAAA
> type=friend
> encryption=yes
> avpf=yes
> force_avp=yes
> icesupport=yes
> directmedia=no
> hasiax=no
> hassip=yes
> disallow=all
> allow=ulaw
> allow=g729
> allow=g723
> allow=speex
> allow=ilbc
> allow=gsm
> dtlsenable=yes
> dtlsverify=fingerprint
> dtlscertfile=/export/Apps/asterisk/lib/asterisk/keys/asterisk.pem
> dtlscafile=/export/Apps/asterisk/lib/asterisk/keys/ca.crt
> dtlssetup=actpass
> [JVXMLcloud1]
> type=peer
> nat=no
> qualify=no
> host=BROWSER_IP
> port=5090
> dtmfmode=info
> canreinvite=no
> {noformat}
> extensions.conf snippet:
> {noformat}
> [system]
> exten => 4000,1,Answer()
> exten => 4000,n,Playback(/export/Apps/asterisk13-3-2/var/lib/asterisk/sounds/en/custom/transferring_with_record_warning)
> exten => 4000,n,NoOp(Caller ID: ${CALLERID(num)})
> exten => 4000,n,NoOp(SIP Headers:: From: ${SIP_HEADER(From)}, To: ${SIP_HEADER(To)})
> exten => 4000,n,NoOp(Unique ID: ${UNIQUEID}, Channel Name: ${CHANNEL}, SIP Call ID: ${SIPCALLID})
> exten => 4000,n,NoOp(The current group count : ${GROUP_COUNT(outgoing)})
> exten => 4000,n,GotoIf($[${GROUP_COUNT(outgoing)}>1]?ring)
> exten => 4000,n,Set(GLOBAL(current_timestamp_4000)=${STRFTIME(${EPOCH},GMT+1,%s)})
> exten => 4000,n,Set(GLOBAL(current_full_format_timestamp_4000)=${STRFTIME(${EPOCH},GMT-8,%d%m%Y_%H%M%S)})
> exten => 4000,n,NoOp(The current timestamp : ${current_timestamp_4000})
> exten => 4000,n,NoOp(The last timestamp : ${last_timestamp_4000})
> exten => 4000,n,GotoIf($[(${last_timestamp_4000}+20>${current_timestamp_4000})]?ring)
> exten => 4000,n,NoOp(All cases passed)
> exten => 4000,n(ring),Ringing()
> exten => 4000,n,Wait(2)
> exten => 4000,n,Monitor(wav,SYSTEM_audio_ext_4000_${current_full_format_timestamp_4000})
> exten => 4000,n,MixMonitor(SYSTEM_MixMonitor_audio_ext_4000_${current_full_format_timestamp_4000}.wav)
> exten => 4000,n,NoOp(The full call corresponding to SIP Call ID: ${SIPCALLID} and Caller ID: ${CALLERID(num)} was recorded to the file: SYSTEM_MixMonitor_audio_ext_4000_${current_full_format_timestamp_4000}.wav)
> exten => 4000,n,Dial(SIP/4000 at JVXMLcloud1,,XgF(default^4000^14))
> exten => 4000,n,Set(GLOBAL(last_timestamp_4000)=${STRFTIME(${EPOCH},GMT+1,%s)})
> exten => 4000,n,Hangup()
> exten => 4000,n,Ringing()
> exten => 4000,n,Wait(2)
> exten => 4000,n,Playback(/export/Apps/asterisk/lib/asterisk/sounds/custom/busy_later)
> exten => 4000,n,Wait(1)
> exten => 4000,n,Hangup()
> {noformat}
> rtp.conf:
> {noformat}
> [general]
> rtpstart=10000
> rtpend=20000
>                         ;(min 500, max 60000, default 5000)
> icesupport=true
> stunaddr=stun.l.google.com:19302
> {noformat}
> http.conf:
> {noformat}
> [general]
> enabled=yes
> bindaddr=0.0.0.0
> bindport=8088
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list