diff options
author | Igor Goncharovskiy <igor.goncharovsky@gmail.com> | 2016-11-11 11:41:36 +0300 |
---|---|---|
committer | Igor Goncharovsky <igor.goncharovsky@gmail.com> | 2016-11-11 23:02:11 -0500 |
commit | 3faca1d4ffb3e727b792958f3b124f2258643259 (patch) | |
tree | 89012cf9e50611e17dd5576ed1a1ed01358fb2d8 | |
parent | 10e64a5fb815be6e83f8fc707bbaaa3233498c5d (diff) |
Fix closing rtp ports after call finished in chan_unistim.
Fix ASTERISK-26565 by adding ast_rtp_instance_stop before
rtp instance destroy for chan_unistim. Also several fixes
for displayed text translation.
Change-Id: If42a03eea09bd1633471406bdc829cf98bf6affc
-rw-r--r-- | channels/chan_unistim.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 37281bb48..b3ecc8291 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -4128,7 +4128,7 @@ static void show_main_page(struct unistimsession *pte) send_date_time2(pte); send_idle_clock(pte); if (strlen(pte->device->maintext0)) { - send_text(TEXT_LINE0, TEXT_NORMAL, pte, pte->device->maintext0); + send_text(TEXT_LINE0, TEXT_NORMAL, pte, ustmtext(pte->device->maintext0, pte)); } } else { if (pte->device->missed_call == 1) { @@ -4147,11 +4147,11 @@ static void show_main_page(struct unistimsession *pte) strcat(tmpbuf, ast_inet_ntoa(pte->sin.sin_addr)); send_text(TEXT_LINE2, TEXT_NORMAL, pte, tmpbuf); } else { - send_text(TEXT_LINE2, TEXT_NORMAL, pte, pte->device->maintext2); + send_text(TEXT_LINE2, TEXT_NORMAL, pte, ustmtext(pte->device->maintext2, pte)); } } - send_texttitle(pte, pte->device->titledefault); + send_texttitle(pte, ustmtext(pte->device->titledefault, pte)); change_favorite_icon(pte, FAV_LINE_ICON); } @@ -4406,7 +4406,7 @@ static void init_phone_step2(struct unistimsession *pte) strcat(tmp, pte->macaddr); send_text(TEXT_LINE2, TEXT_NORMAL, pte, tmp); send_text_status(pte, ""); - send_texttitle(pte, "UNISTIM for*"); + send_texttitle(pte, ustmtext("UNISTIM for*", pte)); return; } } @@ -4896,14 +4896,15 @@ static int unistim_hangup_clean(struct ast_channel *ast, struct unistim_subchann ast_channel_tech_pvt_set(ast, NULL); unistim_set_owner(sub, NULL); sub->alreadygone = 0; - ast_mutex_unlock(&sub->lock); if (sub->rtp) { if (unistimdebug) { ast_verb(0, "Destroying RTP session\n"); } + ast_rtp_instance_stop(sub->rtp); ast_rtp_instance_destroy(sub->rtp); sub->rtp = NULL; } + ast_mutex_unlock(&sub->lock); return 0; } |