SIP g729 between SIP phone and SIP Trunk (SIP REFER)

I’m playing around with FreePBX on a Beagle Bone Black. I believe this prevents me from using g729 codec as there aren’t binaries for the BBG processor. I’m planing on using a SIP Trunk that supports g729 and SIP phones that support g729. Does FreePBX need to support g729 in this case? When a call comes in / goes out, does FreePBX use SIP REFER or the like to essentially forward the call to be direct between the SIP Phone and the SIP Trunk provider, thus they can negotiate g729? If not, is there a way to configure asterisk/FreePBX to do that? Or am I thinking about this all wrong?

Asterisk will “pass-thru” g729 you will however not be able to use any voicemail or conferencing or MOH or transfer capabilities.

Can you explain a little more? Do you have to configure Asterisk to pass-through if you want it? Why would you lose voicemail – if the SIP Phone doesn’t answer or is busy, wouldn’t Asterisk/FreePBX ‘see’ that before the G729 session is started? Would the SIP Phone be able to transfer to local extensions (the SIP phone has its own transfer function, independent of asterisk) or would that all get garbled with NATing, etc.


It’s all out there on google and in the wiki, The SIP and SDP protocols will attempt to negotiate a mutually acceptable codec, Asterisk passing it through means it can’t transcode to a stream that it can process so there is nothing it can do with the call but “pass it through”, does that make sense? Almost all SIP providers will also accept G711, if your doesn’t you will need to find one that does, on a side line your CPU is only marginal for more than a couple of call legs, trans-coding to a compressed format would only further impact it’s effectiveness, just go with PCM, (g711)

Ahhh… I think I didn’t understand how SIP does connections. When I call from Extension 100 (SIP Phone at to Extension 101 (SIP Phone at, I thought that Extension 100 connected to the Asterisk Box, then Asterisk box said “you want to talk to IP” and then Extension A’s phone was redirected to and no longer went through the asterisk box. I then thought connecting to a SIP Trunk would behave in a similar manner where the asterisk box wasn’t in-between all the traffic.

But it sounds like you make a point-to-point SIP connection between the extension and the asterisk box. Asterisk then does what it does, but it always ‘in the loop’. In that case, SIP pass-though is very feature-limiting if it doesn’t talk the codec. (And best to avoid g729 encoding/decoding on my under-powered beagle-bone).

Thanks for the help.

asterisk is a sip back to back user agent , also on google :slight_smile: