Hi guys, I have a few problems with invites w/o sdp. Given scenario: FS: global_codec_prefs=PCMU,PCMA,G729,G723,GSM A: G711 / G729 / G723 B: G729 only Call from A->FS->B: 1) A->FS invite w/o sdp 2) FS->B invite w/ sdp (PCMU PCMA G729 G723 GSM, global_codec_prefs) 3) B->FS 180 ring 4) FS->A 180 ring 5) B->FS 200 ok w/ sdp (G729) 6) FS->A 200 ok w/ sdp (PCMU PCMA G729 G723 GSM, global_codec_prefs again!) 7) A->FS ACK w/ sdp (PCMU) The result: TRANSCODING_NECESSARY, but G729 only passthrough, call cleared! Changing the global_codec_prefs to G729 PCMU PCMA, the leg A<>FS will be negotiated to G729 and it will work, but that's just a workaround. (another dirty fix was to add sofia_glue_tech_set_local_sdp(tech_pvt, b_sdp, 0); in mod_sofia.c line 482 code block 478-507, that will pass B sdp to A so the call will use the same codec on both legs and will be half proxied rtp from A goes directly to B, but if A has PCMU and B PCMA the call is dropped without transcoding) As long as leg FS<>B is already using G729, FS should advertise to A G729 first, then all others. The right setup should be: 1) A->FS invite w/o sdp 2) FS->B invite w/ sdp (global_codec_prefs) 3) B->FS 180 ring 4) FS->A 180 ring 5) B->FS 200 ok w/ sdp (codecX ) 6) FS->A 200 ok w/ sdp (codecX global_codec_prefs-codecX ) 7) A->FS ACK w/ sdp (codecX) More than that, if B has early media and step 3) is 183 ring w/ sdp, the result is " freeswitch: sofia_glue.c:2745: sofia_glue_tech_media: Assertion `r_sdp != ((void *)0)' failed. Aborted (core dumped) " but I'll post that on jira. Best regards, Claudiu Filip