From a948d041fe543a4ae263b02ad801932024c50e41 Mon Sep 17 00:00:00 2001 From: Jeremy McNamara Date: Wed, 23 Jul 2003 02:00:28 +0000 Subject: [PATCH] attempt to implement the passing of callerid. not tested git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1203 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/h323/chan_h323.c | 9 +++++++-- channels/h323/chan_h323.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/channels/h323/chan_h323.c b/channels/h323/chan_h323.c index 4bd97e4f32..99bfede494 100755 --- a/channels/h323/chan_h323.c +++ b/channels/h323/chan_h323.c @@ -87,7 +87,7 @@ static char secret[50]; /** Private structure of a OpenH323 channel */ struct oh323_pvt { pthread_mutex_t lock; /* Channel private lock */ - call_options_t call_opt; /* Options to be used during call setup */ + call_options_t calloptions; /* Options to be used during call setup */ int alreadygone; /* Whether or not we've already been destroyed by or peer */ int needdestroy; /* if we need to be destroyed */ call_details_t cd; /* Call details */ @@ -402,7 +402,12 @@ static int oh323_call(struct ast_channel *c, char *dest, int timeout) memset(called_addr, 0, sizeof(dest)); memcpy(called_addr, dest, sizeof(called_addr)); - res = h323_make_call(called_addr, &(p->cd), p->call_opt); + /* Copy callerid, if there is any */ + if (strlen(c->callerid)) { + p->calloptions.callerid = strdup(c->callerid); + } + + res = h323_make_call(called_addr, &(p->cd), p->calloptions); if (res) { ast_log(LOG_NOTICE, "h323_make_call failed(%s)\n", c->name); diff --git a/channels/h323/chan_h323.h b/channels/h323/chan_h323.h index 0e0bcdbf59..23e0b468a6 100755 --- a/channels/h323/chan_h323.h +++ b/channels/h323/chan_h323.h @@ -84,6 +84,7 @@ struct oh323_alias { PBX application and passed through make_call function*/ typedef struct call_options { + const char *callerid; int noFastStart; int noH245Tunnelling; int noSilenceSuppression; @@ -95,6 +96,7 @@ typedef struct call_options { asterisk channels to acutal h.323 connections */ typedef struct call_details { unsigned int call_reference; + const char *call_token; const char *call_source_aliases; const char *call_dest_alias;