How to get g729 on one trunk? (licenses purchased, installed, and works)

Hi!

I recently purchased and installed the g729 license. All indications are that it is working correctly.

What I want to do is use it for one external trunk.

I added the following in the trunk settings -
deny=all
allow=g729&ulaw

And I left my sip settings menu to just be ulaw (I am using 1.89.210.57-2 with the latest modules updated).

Whenever I call out through the trunk, it still selects ulaw.

If I go into sip settings menu and add g729 and put it at the top, the trunk will then call out g729.

Clearly I am missing something? Can anyone point me in the correct direction?

Here is what freepbx is generating in the sip_additional.conf

deny=all
disallow=all
username=XXXXXXXXX
type=friend
secret=YYYYYYYYYYY
qualify=5000
insecure=port,invite
host=sip.flowroute.com
fromdomain=sip.flowroute.com
dtmfmode=rfc2833
context=from-trunk
canreinvite=no
allow=g729
allow=ulaw

Which I believe looks OK.

And here is what is in sip_general_additional.conf

disallow=all
allow=ulaw

I am looking at the codec selected using “sip show channels”.

Advice appreciated.

BTW - here is what wireshark says in the invite. So it is advertising ulaw, alaw, and gsm (which were in the sip settings window). It is adding g729 based on the trunk, but not at the top of the list.

0 = uLaw
8 = aLaw
3 = GSM
18 = G.729
101 = Dynamic load for DTMF

You are only allowing ulaw with those disallow/allow statements.

You have three spots you need to check.

1 - SIP settings module, make sure all required CODEC’s are selected
2 - Trunk, make sure the CODEC you want to use is the only one allow and checked in step 1
3 - Extensions, makes sure the CODEC you want to use is the only one allowed and checked in step 1

You say “all indications are it’s working correctly”

In asterisk is the module loaded, use ‘module show like g729’ and ‘g729 show license’ is the syntax (use the ? after g729 if not right syntax).

You also should see a numeric latency value by g729 in ‘core show translation’

Thanks

The latency shows up in the codec matrix and the g729 show licenses confirms a license. I think I Gould that in an earlier post from you :slight_smile:

Why wouldn’t the trunk

Disallow=all
Allow=g729
Allow=ulaw

Allow both and prioritize the g729? Even if I remove the allow=ulaw it still connects ulaw.

That makes no sense. If you only allow g729 that is what it should take.

do a ‘sip show peer xxxx’ where xxx is the peer name of your trunk. It shuld properly show the codecs.

sip show channels

192.168.1.237 6101 2dbd33c0-f94f95 0x4 (ulaw) No Rx: ACK 6101
192.168.1.237 (None) f7bbe4d8-7322d3 0x0 (nothing) No Rx: REGISTER
64.2.142.26 brklaas1 589c868d2398367 0x0 (nothing) No
216.115.69.144 1XXXYYY7203 0b1afa857683398 0x4 (ulaw) No Tx: ACK FlowRoute

Here is the part from sip show peer FlowRoute

Codecs : 0x104 (ulaw|g729)
Codec Order : (g729:20,ulaw:20)

So I would have expected to grab g729 first?

But then I removed ulaw and restarted the entire system (previously was doing “core restart gracefully” or “core reload”.

And now it connect g729

I’m lost as to why, but it works so I will ignore it for now. But would like to have g729 and fail over to ulaw if not enough licenses. Not sure if it fails over or just fails the call.

It should work but Asterisk is wonky sometimes on CODEC selection. I would try the latest version of Asterisk. Maybe even Asterisk 10

No the problem is if you make a inbound call and FlowRoute sends Ulaw first asterisk will take that since ulaw is in your list. Codec Order is only used when asterisk intiates the call so in this example it would be an outbound call.

I have no DIDs with flowroute (on this server anyway), so something else was not working as I expected.

Tony - will it advertise g729 if there are no licenses available?

how to do in freepbx can explain