This topic focuses on the method to resolve broken audio, of which the root cause is out of sequence packets.
How to enable Jitter Buffer for Asterisk (FreePBX, Trixbox, Elastix etc) change this in the sip_general_custom.conf
;Enable a Jitter Buffer for Asterisk
jbenable = yes|no
SIP channel. Defaults to "no". An enabled jitterbuffer willbe used only if the sending side can create and the receiving side can not accept jitter. The SIP channel can accept jitter, thus a jitterbuffer on the receive SIP side will be used only if it is forced and enabled.
jbforce = yes|no
Forces the use of a jitterbuffer on the receive side of a SIP channel. Defaults to "no".
jbmaxsize = #number
Max length of the jitterbuffer in milliseconds.
jbresyncthreshold = #number
Jump in the frame timestamps over which the jitterbuffer isresynchronized. Useful to improve the quality of the voice, with big jumps in/broken timestamps, usually sent from exotic devices and programs. Defaults to 1000.
jbimpl = fixed|adaptive
Jitterbuffer implementation, used on the receiving side of a SIP channel. Two implementations are currently available - "fixed" (with size always equals to jbmaxsize) and "adaptive" (withvariable size, actually the new jb of IAX2). Defaults to fixed.
jblog = no|yes
Enables jitterbuffer frame logging. Defaults to "no".