|
|
@ -1349,6 +1349,7 @@ static void add_noncodec_to_sdp(const struct sip_pvt *p, int format, int sample_
|
|
|
|
int debug);
|
|
|
|
int debug);
|
|
|
|
static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p);
|
|
|
|
static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p);
|
|
|
|
static void do_setnat(struct sip_pvt *p, int natflags);
|
|
|
|
static void do_setnat(struct sip_pvt *p, int natflags);
|
|
|
|
|
|
|
|
static void stop_media_flows(struct sip_pvt *p);
|
|
|
|
|
|
|
|
|
|
|
|
/*--- Authentication stuff */
|
|
|
|
/*--- Authentication stuff */
|
|
|
|
static int reply_digest(struct sip_pvt *p, struct sip_request *req, char *header, int sipmethod, char *digest, int digest_len);
|
|
|
|
static int reply_digest(struct sip_pvt *p, struct sip_request *req, char *header, int sipmethod, char *digest, int digest_len);
|
|
|
@ -3689,6 +3690,8 @@ static int sip_hangup(struct ast_channel *ast)
|
|
|
|
ast_log(LOG_DEBUG, "Hanging up channel in state %s (not UP)\n", ast_state2str(ast->_state));
|
|
|
|
ast_log(LOG_DEBUG, "Hanging up channel in state %s (not UP)\n", ast_state2str(ast->_state));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stop_media_flows(p); /* Immediately stop RTP, VRTP and UDPTL as applicable */
|
|
|
|
|
|
|
|
|
|
|
|
/* Disconnect */
|
|
|
|
/* Disconnect */
|
|
|
|
if (p->vad)
|
|
|
|
if (p->vad)
|
|
|
|
ast_dsp_free(p->vad);
|
|
|
|
ast_dsp_free(p->vad);
|
|
|
|