/** 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 */
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);
PBX application and passed through make_call
function*/
typedef struct call_options {
+ const char *callerid;
int noFastStart;
int noH245Tunnelling;
int noSilenceSuppression;
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;