From: Joshua Colp Date: Sun, 1 Dec 2013 20:04:02 +0000 (+0000) Subject: res_pjsip_t38: Add the framehook to the channel only on first INVITE. X-Git-Tag: 12.0.0~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb7c0d5ecc1be46cf7c63f729a8b5eb27366d2d6;p=thirdparty%2Fasterisk.git res_pjsip_t38: Add the framehook to the channel only on first INVITE. The check for determining whether the T.38 framehook should be added to the channel or not has now been changed to guarantee adding only occurs on the first incoming or outgoing INVITE. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@403258 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_pjsip_t38.c b/res/res_pjsip_t38.c index e44820214c..021fe4fe29 100644 --- a/res/res_pjsip_t38.c +++ b/res/res_pjsip_t38.c @@ -446,8 +446,10 @@ static void t38_attach_framehook(struct ast_sip_session *session) .event_cb = t38_framehook, }; - if (!session->channel || (ast_channel_state(session->channel) == AST_STATE_UP) || - !session->endpoint->media.t38.enabled) { + /* Only attach the framehook on the first outgoing INVITE or the first incoming INVITE */ + if ((session->inv_session->state != PJSIP_INV_STATE_NULL && + session->inv_session->state != PJSIP_INV_STATE_INCOMING) || + !session->endpoint->media.t38.enabled) { return; }