summaryrefslogtreecommitdiff
path: root/channels/chan_unistim.c
diff options
context:
space:
mode:
authorIgor Goncharovskiy <igor.goncharovsky@gmail.com>2016-11-11 11:41:36 +0300
committerIgor Goncharovsky <igor.goncharovsky@gmail.com>2016-11-11 11:50:37 +0300
commitdfb951817f52fa67cda522d957c2db5a09f0ff68 (patch)
treedf54c0d3f7a6d7523845caad6d549e6132d31b96 /channels/chan_unistim.c
parent3d5c61d2e04bac100f895f07160270deb4a55c1c (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.c11
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;
}