Index: addons/chan_ooh323.c =================================================================== --- addons/chan_ooh323.c (revision 404198) +++ addons/chan_ooh323.c (working copy) @@ -205,6 +205,7 @@ static struct ooh323_pvt { char rtpmaskstr[120]; int rtdrcount, rtdrinterval; /* roundtripdelayreq */ int faststart, h245tunneling; /* faststart & h245 tunneling */ + int aniasdni; /* use dialed number as answering identification */ struct ooh323_pvt *next; /* Next entity */ } *iflist = NULL; @@ -237,6 +238,7 @@ struct ooh323_user{ int directrtp; int earlydirect; int g729onlyA; + int aniasdni; struct ooh323_user *next; }; @@ -344,6 +346,7 @@ OOBOOL gH323Debug = FALSE; static int gTRCLVL = OOTRCLVLERR; static int gRTDRCount = 0, gRTDRInterval = 0; static int gNat = FALSE; +static int gANIasDNI = 0; static int t35countrycode = 0; static int t35extensions = 0; @@ -558,6 +561,8 @@ static struct ooh323_pvt *ooh323_alloc(int callref ast_format_cap_copy(pvt->cap, gCap); memcpy(&pvt->prefs, &gPrefs, sizeof(pvt->prefs)); + pvt->aniasdni = gANIasDNI; + ast_mutex_unlock(&pvt->lock); /* Add to interface list */ ast_mutex_lock(&iflock); @@ -1898,6 +1903,9 @@ int ooh323_onReceivedSetup(ooCallData *call, Q931M p->rtdrcount = user->rtdrcount; p->rtdrinterval = user->rtdrinterval; } + + p->aniasdni = user->aniasdni; + if (user->incominglimit) user->inUse++; ast_mutex_unlock(&user->lock); } else { @@ -1930,6 +1938,10 @@ int ooh323_onReceivedSetup(ooCallData *call, Q931M ast_log(LOG_ERROR, "Could not create ast_channel\n"); return -1; } + + if (p->aniasdni) { + ooCallSetCallerId(call, p->exten); + } if (!configure_local_rtp(p, call)) { ast_mutex_unlock(&p->lock); ast_log(LOG_ERROR, "Couldn't create rtp structure\n"); @@ -2431,6 +2443,8 @@ static struct ooh323_user *build_user(const char * user->t38support = T38_FAXGW; else if (!strcasecmp(v->value, "yes")) user->t38support = T38_ENABLED; + } else if (!strcasecmp(v->name, "aniasdni")) { + user->aniasdni = ast_true(v->value); } v = v->next; } @@ -3050,6 +3064,8 @@ int reload_config(int reload) } else if (!strcasecmp(v->name, "tracelevel")) { gTRCLVL = atoi(v->value); ooH323EpSetTraceLevel(gTRCLVL); + } else if (!strcasecmp(v->name, "aniasdni")) { + gANIasDNI = ast_true(v->value); } v = v->next; } Index: configs/ooh323.conf.sample =================================================================== --- configs/ooh323.conf.sample (revision 404198) +++ configs/ooh323.conf.sample (working copy) @@ -72,6 +72,10 @@ e164=100 ;Default - Same as h323id callerid=asterisk +; Whether asterisk send back to caller own connected line id on incoming call as called number +; Default - no +aniasdni=no + ;Whether this asterisk server will use gatekeeper. ;Default - DISABLE ;gatekeeper = DISCOVER