--- channels/chan_sip.orig 2009-06-22 10:44:00.000000000 +0200 +++ channels/chan_sip.c 2009-06-22 10:45:06.000000000 +0200 @@ -5291,9 +5291,11 @@ static int process_sdp(struct sip_pvt *p numberofmediastreams++; if (p->owner && p->lastinvite) { - p->t38.state = T38_PEER_REINVITE; /* T38 Offered in re-invite from remote party */ - if (option_debug > 1) - ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "" ); + if(p->t38.state != T38_LOCAL_REINVITE) { + p->t38.state = T38_PEER_REINVITE; /* T38 Offered in re-invite from remote party */ + if (option_debug > 1) + ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "" ); + } } else { p->t38.state = T38_PEER_DIRECT; /* T38 Offered directly from peer in first invite */ p->t38.direct = 1;