]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_t38: Add the framehook to the channel only on first INVITE.
authorJoshua Colp <jcolp@digium.com>
Sun, 1 Dec 2013 20:04:55 +0000 (20:04 +0000)
committerJoshua Colp <jcolp@digium.com>
Sun, 1 Dec 2013 20:04:55 +0000 (20:04 +0000)
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.
........

Merged revisions 403258 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403259 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_pjsip_t38.c

index e44820214c701bf7cabd920a7bd159fbfa6395df..021fe4fe29795413dd0d93e80e30aaf6d8962cce 100644 (file)
@@ -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;
        }