diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 66087f3262..e6a60203d5 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -1491,7 +1491,6 @@ static int local_attended_transfer(struct sip_pvt *transferer, struct sip_dual * /*------Response handling functions */ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int seqno); static void handle_response_refer(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int seqno); -static int handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req); static int handle_response_register(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int ignore, int seqno); static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int ignore, int seqno); @@ -11679,15 +11678,17 @@ static int handle_response_register(struct sip_pvt *p, int resp, char *rest, str } /*! \brief Handle qualification responses (OPTIONS) */ -static int handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req) +static void handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req) { struct sip_peer *peer; int pingtime; struct timeval tv; + int statechanged = 0; + int newstate = 0; + + if (resp == 100) + return; - if (resp != 100) { - int statechanged = 0; - int newstate = 0; peer = p->relatedpeer; gettimeofday(&tv, NULL); pingtime = ast_tvdiff_ms(tv, peer->ps); @@ -11728,8 +11729,6 @@ static int handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_requ peer->pokeexpire = ast_sched_add(sched, DEFAULT_FREQ_NOTOK, sip_poke_peer_s, peer); else peer->pokeexpire = ast_sched_add(sched, DEFAULT_FREQ_OK, sip_poke_peer_s, peer); - } - return 1; } /*! \brief Immediately stop RTP, VRTP and UDPTL as applicable */ @@ -11782,7 +11781,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ Well, as long as it's not a 100 response... since we might need to hang around for something more "definitive" */ - res = handle_response_peerpoke(p, resp, req); + handle_response_peerpoke(p, resp, req); } else if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) { switch(resp) { case 100: /* 100 Trying */