dect
/
asterisk
Archived
13
0
Fork 0

Allow channels to be moved if channel change is requested in SETUP_ACK, also add a WAY cool new field to the nsf option

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@14521 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
mattf 2006-03-23 21:41:23 +00:00
parent 4de046e80d
commit 21339b3972
2 changed files with 16 additions and 10 deletions

View File

@ -9249,15 +9249,19 @@ static void *pri_dchannel(void *vpri)
ast_log(LOG_WARNING, "Received SETUP_ACKNOWLEDGE on unconfigured channel %d/%d span %d\n", ast_log(LOG_WARNING, "Received SETUP_ACKNOWLEDGE on unconfigured channel %d/%d span %d\n",
PRI_SPAN(e->setup_ack.channel), PRI_CHANNEL(e->setup_ack.channel), pri->span); PRI_SPAN(e->setup_ack.channel), PRI_CHANNEL(e->setup_ack.channel), pri->span);
} else { } else {
ast_mutex_lock(&pri->pvts[chanpos]->lock); chanpos = pri_fixup_principle(pri, chanpos, e->ring.call);
pri->pvts[chanpos]->setup_ack = 1; if (chanpos > -1) {
/* Send any queued digits */ ast_mutex_lock(&pri->pvts[chanpos]->lock);
for (x=0;x<strlen(pri->pvts[chanpos]->dialdest);x++) { pri->pvts[chanpos]->setup_ack = 1;
ast_log(LOG_DEBUG, "Sending pending digit '%c'\n", pri->pvts[chanpos]->dialdest[x]); /* Send any queued digits */
pri_information(pri->pri, pri->pvts[chanpos]->call, for (x=0;x<strlen(pri->pvts[chanpos]->dialdest);x++) {
pri->pvts[chanpos]->dialdest[x]); ast_log(LOG_DEBUG, "Sending pending digit '%c'\n", pri->pvts[chanpos]->dialdest[x]);
} pri_information(pri->pri, pri->pvts[chanpos]->call,
ast_mutex_unlock(&pri->pvts[chanpos]->lock); pri->pvts[chanpos]->dialdest[x]);
}
ast_mutex_unlock(&pri->pvts[chanpos]->lock);
} else
ast_log(LOG_WARNING, "Unable to move channel %d!\n", e->setup_ack.channel);
} }
break; break;
case PRI_EVENT_NOTIFY: case PRI_EVENT_NOTIFY:
@ -10973,6 +10977,8 @@ static int setup_zap(int reload)
nsf = PRI_NSF_SDN; nsf = PRI_NSF_SDN;
else if (!strcasecmp(v->value, "megacom")) else if (!strcasecmp(v->value, "megacom"))
nsf = PRI_NSF_MEGACOM; nsf = PRI_NSF_MEGACOM;
else if (!strcasecmp(v->value, "tollfreemegacom"))
nsf = PRI_NSF_TOLL_FREE_MEGACOM;
else if (!strcasecmp(v->value, "accunet")) else if (!strcasecmp(v->value, "accunet"))
nsf = PRI_NSF_ACCUNET; nsf = PRI_NSF_ACCUNET;
else if (!strcasecmp(v->value, "none")) else if (!strcasecmp(v->value, "none"))

View File

@ -62,7 +62,7 @@ context=default
switchtype=national switchtype=national
; ;
; Some switches (AT&T especially) require network specific facility IE ; Some switches (AT&T especially) require network specific facility IE
; supported values are currently 'none', 'sdn', 'megacom', 'accunet' ; supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet'
; ;
;nsf=none ;nsf=none
; ;