We are in the process of debugging a voice quality issue for a client of
ours that is a VoIP services provider. The client uses a softphone that
runs on a pjsip stack.
When placing a call using the softphone, it negotiates the use of G729
codec with the remote endpoint (ptime = 20ms). The endpoint transmits RTP
packets with encoded G729 payload. VAD/DTX is enabled. We see that the
last frame transmitted by the carrier side endpoint, before the beginning
of a period of discontinuous transmission has 20 bytes of payload. We have
verified that VAD/DTX is used by the carrier side endpoint by noting that
there exist successive RTP packets that differ by 1 in their sequence
number but have a timestamp difference > 160 and MARK bits are set in the
Our understanding is that for G729B, the SID frame that is transmitted
before a period of discontinuous transmission has a size of 2 bytes.
However we see that ALL RTP packets sent by the carrier side end point has
a length of 20 bytes.
Has anybody else seen this behavior from a carrier side endpoint ? Is
there an RFC or document that specifies