FMTP support in H.264

Hi Asterisk community,
I have seen different post online about this topic,
Right now Im using 2 Tandberg E20 to call each other and works fine when using canreinvite=yes.

Endpoint A to Endpoint B
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42800d;max-mbps=40500;max-fs=1344;max-smbps=40500
a=rtpmap:98 H264/90000
a=fmtp:98 profile-level-id=42800d;max-mbps=40500;max-fs=1344;max-smbps=40500;packetization-mode=1

Found RTP video format 97
Found RTP video format 98
Found video description format H264 for ID 97
Found video description format H264 for ID 98

In the INVITE to Endpoint B I see:
m=video 17826 RTP/AVP 99
a=rtpmap:99 H264/90000

Meaning Asterisk stripping fmtp
When looking into chan_sip.c I see:

/* Add fmtp code here */
Meaning Asterisk 1.8.2rc1 still may not support fmtp

Have found some workaround or patches here: … te:results

My question is if there are any plans to support this in the future? Or any valid working patch that you guys have as one mentioned before is not working for me.

[CC] chan_sip.c -> chan_sip.o
chan_sip.c: In function ‘add_vcodec_to_sdp’:
chan_sip.c:10253: error: ‘const struct sip_pvt’ has no member named ‘fmtp_count’
chan_sip.c:10253: warning: format ‘%x’ expects type ‘unsigned int’, but argument 6 has type ‘format_t’
make[1]: *** [chan_sip.o] Error 1
make: *** [channels] Error 2


I remove this line:
if (debug)
ast_verbose (“FMTP Codec Count %d\r\nCodec is 0x%x\r\n”,p->fmtp_count,codec);
as some structure seems not to contain fmtp_count
and compile successfully
Will try tomorrow.

Thanks all


The work to eventually support extended fmtp parameters is in its beginning stages. The proposal that we’re following is outlined here: … e+Proposal

Hi Malcolm,
thanks for the information