Page 1 of 1

why do we use IAX2 over SIP for trunks between servers?

PostPosted: Mon Aug 07, 2017 2:35 pm
by bobbymc
in a load balanced setup the calls connect from server A to server B via a IAX trunk, is there a reason we use IAX2 over SIP?

Re: why do we use IAX2 over SIP for trunks between servers?

PostPosted: Mon Aug 07, 2017 3:19 pm
by mflorell
IAX is faster and has A LOT LESS overhead than SIP. I actually tested using SIP several years ago and the load increased significantly on dialers in a large cluster that was doing predictive dialing.

Re: why do we use IAX2 over SIP for trunks between servers?

PostPosted: Mon Aug 07, 2017 7:43 pm
by bobbymc
by faster you mean there is less delay when the call connects? the reason i want to switch to SIP is that we have these annoying IAX2 errors:

[2017-08-07 17:33:46] WARNING[65343]: chan_iax2.c:9990 socket_process_meta: Received trunked frame before first full voice frame

and ive been trying for month to figure out why, these are local servers and there is no network issue or delays. i disabled jitter buffer in hope to solve this but no luck. occasionally we get floods of these and eventually asterisk craps out. im hoping to switch to sip and not have these issues anymore but if the call gets delay added by sending it from server a to b then sip would be out of the questions of course.

Re: why do we use IAX2 over SIP for trunks between servers?

PostPosted: Tue Aug 08, 2017 12:18 pm
by mflorell
Yes. SIP connections are slower, they use more resources and they have to keep those resources active longer because SIP will not release channel resources upon hangup like IAX2 does. This is all because of the bloated SIP specifications that were not created for efficiency, but for items like images and other media to be sent after a call is hung up. IAX is very simple and efficient, and is the best option for high-volume multi-server Asterisk clusters to communicate.

As for the errors you're getting, I have seen them before, but I haven't run into those being a major problem as far as crashing goes.

Re: why do we use IAX2 over SIP for trunks between servers?

PostPosted: Tue Aug 08, 2017 7:14 pm
by williamconley
bobbymc wrote:[2017-08-07 17:33:46] WARNING[65343]: chan_iax2.c:9990 socket_process_meta: Received trunked frame before first full voice frame

Beware: It looks like a networking problem (lag/jitter) that may be exacerbated by switching to SIP. While sip may not show that error in a log, that doesn't mean it doesn't experience the problem. Find and fix your networking problem would be my first reflex.