InnovateAsterisk / Browser-Phone

A fully featured browser based WebRTC SIP phone for Asterisk
https://www.innovateasterisk.com
GNU Affero General Public License v3.0
508 stars 248 forks source link

No sound if using gsm gateway #81

Open expake opened 4 years ago

expake commented 4 years ago

I use FreePbx 15 and the GOIP4 gateway, if I connect two extensions everything works if I want to call through the gsm gateway, then there is no sound. And if you use WebRTCCall-master then everything works.

InnovateAsterisk commented 4 years ago

Can you post the two config sections - the trunk and a typical extension.

Also can you confirm the firewall config, if any.

expake commented 4 years ago

correct.log Extension uncorrect.log Outboard to trunk gsm getaway

Perhaps there would be problems with nat, but everything works on another wertcphone.

InnovateAsterisk commented 4 years ago

So, the WebRTCCall-master code works for all options, and this project works for extension-to-extension, just not extension-to-gms.

Well, WebRTCCall-master uses jssip library and they have an option to clear out the STUN servers. sipjs does not, it will add google stun if you leave it out, or try to take it out.

STUN effects the media path for calls, but it "should" also effect calls between extensions too... The fact that ext-to-ext work fine means that even tho stun is a variable here, its able to negotiate a communication ip and port for media when going from ext-to-ext... but not for when it's going from etx-to-gsm.

Your ICE gathering does points to you having a 3 step network (192.168 - probably you pc, 10.10 - probably the GSM router and then your live ISP ip address) to reach the outside world. (It's timing out by the way). The way to test if this is the case quickly is to force FreePBX to keep in the media path. (I'm not that familiar with freePBX, so can't advise on how to ensure this, probably canreinvite=no or directmedia=no, not sure).

Also to double check that the packets are not being received, go to the "Show call details" on the dropdown menu of the call in the stream, and check the graph should confirm no packets received.

If you send a SIP trace, it would help to debug this.

expake commented 4 years ago

I found out that internal calls do not work on WebRTCCall-master, but it works for the router, the gsm gateway on the 10.10.4.0 network and the PC too, and FreePBX on the 10.10.2.0 network in the clouds, everything works through tunnels. I am attaching the sngrep file. sngrep.txt

InnovateAsterisk commented 4 years ago

The attached file looks like it is a SIP trace of a call between your FreePBX and your GSM router. The only thing to pick up there is that it only supports ULAW and ALAW - this is fine, so long as your extensions are set to only ULAW and ALAW also - otherwise if you are using opus, it will need to transcode opus.

If you can, please show the extension config and the trunk config.

expake commented 4 years ago

username=goip-1 type=peer secret=password qualify=yes permit=0.0.0.0/0.0.0.0 nat=no insecure=port,invite host=dynamic disallow=all deny=0.0.0.0/0.0.0.0 context=from-trunk allow=alaw&ulaw&gsm EXT: FreePBX Ext GlobalSip Settings: SipConfig.txt End Goip Advanced settings: GoIP4

InnovateAsterisk commented 4 years ago

Try setting Direct Media to no:

image

Also can you confirm that other extensions (non-websocket), like Zoiper, Blink etc or even a Desktop phone work correctly over the GSM trunk.

expake commented 4 years ago

Try setting Direct Media to no:

image

Also can you confirm that other extensions (non-websocket), like Zoiper, Blink etc or even a Desktop phone work correctly over the GSM trunk. Direct Media = no Zoiper, rejected calls: zoiper.txt

InnovateAsterisk commented 4 years ago

Zoiper gets rejected because its set to only use opus, but you don't have it installed, so the call is dropped.

a=rtpmap:106 opus/48000/2

So FreePBX response with: SIP/2.0 488 Not Acceptable Here

expake commented 4 years ago

I turned on opus, but the '100' account, the settings of which I showed you above, could not call, but I had the '200' account with such settings, outgoing through the gsm gateway work. And from number 100 which is on RaspberryPhone to number 200 which is on Zoiper. FireShot Capture 024 - FreePBX Administration - pbx ac-step com 200.txt