Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 104125) +++ channels/chan_sip.c (working copy) @@ -6728,8 +6728,16 @@ /* Remote party offers T38, we need to update state */ if (t38action == SDP_T38_ACCEPT) { - if (p->t38.state == T38_LOCAL_DIRECT || p->t38.state == T38_LOCAL_REINVITE) + if (p->t38.state == T38_LOCAL_DIRECT || p->t38.state == T38_LOCAL_REINVITE) { change_t38_state(p, T38_ENABLED); + } else + { + if (p->owner && p->lastinvite) { + change_t38_state(p, T38_PEER_REINVITE); /* T38 Offered in re-invite from remote party */ + } else { + change_t38_state(p, T38_PEER_DIRECT); /* T38 Offered directly from peer in first invite */ + } + } } else if (t38action == SDP_T38_INITIATE) { if (p->owner && p->lastinvite) { change_t38_state(p, T38_PEER_REINVITE); /* T38 Offered in re-invite from remote party */