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 11:50:37 +0300 |
commit | dfb951817f52fa67cda522d957c2db5a09f0ff68 (patch) | |
tree | df54c0d3f7a6d7523845caad6d549e6132d31b96 /channels/chan_unistim.c | |
parent | 3d5c61d2e04bac100f895f07160270deb4a55c1c (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
Diffstat (limited to 'channels/chan_unistim.c')
-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 4ad17dc66..b8ccdbb2a 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -4127,7 +4127,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) { @@ -4146,11 +4146,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); } @@ -4405,7 +4405,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; } } @@ -4895,14 +4895,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; } |