aboutsummaryrefslogtreecommitdiffstats
path: root/addons/chan_ooh323.c
diff options
context:
space:
mode:
authormay <may@f38db490-d61c-443f-a65b-d21fe96a405b>2010-02-16 22:58:22 +0000
committermay <may@f38db490-d61c-443f-a65b-d21fe96a405b>2010-02-16 22:58:22 +0000
commit45c06aa91d989bca383c39909b1a5ae544ed29aa (patch)
tree3d454ede37ba5b4bae6b5f96bb7eca8d09522f31 /addons/chan_ooh323.c
parente0188cab26f049c28e3e1b7eb87fa033d8ff42e2 (diff)
generate connected line info update from info in h.323 packets
Tested by: benngard git-svn-id: http://svn.digium.com/svn/asterisk/trunk@247035 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'addons/chan_ooh323.c')
-rw-r--r--addons/chan_ooh323.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/addons/chan_ooh323.c b/addons/chan_ooh323.c
index 9c2ce6fa1..d7a4dfc88 100644
--- a/addons/chan_ooh323.c
+++ b/addons/chan_ooh323.c
@@ -1503,6 +1503,14 @@ int onAlerting(ooCallData *call)
return 0;
}
c = p->owner;
+
+ if (call->remoteDisplayName) {
+ struct ast_party_connected_line connected;
+ ast_party_connected_line_init(&connected);
+ connected.id.name = (char *) call->remoteDisplayName;
+ connected.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
+ ast_channel_queue_connected_line_update(c, &connected);
+ }
if (c->_state != AST_STATE_UP)
ast_setstate(c, AST_STATE_RINGING);
@@ -1546,6 +1554,14 @@ int onProgress(ooCallData *call)
return 0;
}
c = p->owner;
+
+ if (call->remoteDisplayName) {
+ struct ast_party_connected_line connected;
+ ast_party_connected_line_init(&connected);
+ connected.id.name = (char *) call->remoteDisplayName;
+ connected.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
+ ast_channel_queue_connected_line_update(c, &connected);
+ }
if (c->_state != AST_STATE_UP)
ast_setstate(c, AST_STATE_RINGING);
@@ -1927,6 +1943,15 @@ int onCallEstablished(ooCallData *call)
}
if (p->owner) {
struct ast_channel* c = p->owner;
+
+ if (call->remoteDisplayName) {
+ struct ast_party_connected_line connected;
+ ast_party_connected_line_init(&connected);
+ connected.id.name = (char *) call->remoteDisplayName;
+ connected.source = AST_CONNECTED_LINE_UPDATE_SOURCE_ANSWER;
+ ast_channel_queue_connected_line_update(c, &connected);
+ }
+
ast_queue_control(c, AST_CONTROL_ANSWER);
ast_channel_unlock(p->owner);
manager_event(EVENT_FLAG_SYSTEM,"ChannelUpdate","Channel: %s\r\nChanneltype: %s\r\n"