Author: file Date: Tue Dec 16 09:44:43 2014 New Revision: 429613 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=429613 Log: res_pjsip_t38: Fix T.38 failure when peer reinvites immediately.
If a remote endpoint reinvites to T.38 immediately the state machine will go into a peer reinvite state. If a T.38 capable application (such as ReceiveFax) queries it will receive this state. Normally the application will then indicate so that the channel driver will queue up the T.38 offer previously received. Once it receives this offer the application will act normally and negotiate. The res_pjsip_t38 module incorrectly partially squashed this indication. This would cause the application to think the request had failed when in reality it had actually worked. This change makes it so that no T.38 control frames (or indications) are squashed. ........ Merged revisions 429612 from http://svn.asterisk.org/svn/asterisk/branches/13 Modified: trunk/ (props changed) trunk/res/res_pjsip_t38.c Propchange: trunk/ ------------------------------------------------------------------------------ Binary property 'branch-13-merged' - no diff available. Modified: trunk/res/res_pjsip_t38.c URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_pjsip_t38.c?view=diff&rev=429613&r1=429612&r2=429613 ============================================================================== --- trunk/res/res_pjsip_t38.c (original) +++ trunk/res/res_pjsip_t38.c Tue Dec 16 09:44:43 2014 @@ -113,7 +113,11 @@ data->session = session; ao2_ref(session, +1); - data->frame = frame; + data->frame = ast_frdup(frame); + if (!data->frame) { + ao2_ref(data, -1); + data = NULL; + } return data; } @@ -396,8 +400,6 @@ if (ast_sip_push_task(session->serializer, t38_interpret_parameters, data)) { ao2_ref(data, -1); } - - f = &ast_null_frame; } else if (f->frametype == AST_FRAME_MODEM) { RAII_VAR(struct ast_sip_session_media *, session_media, NULL, ao2_cleanup); -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits
