diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 161486779ceffff3f5e26b8fcc0082959286e3b1..991c56443ebbbaa239b5c88b8a8189afeb6be548 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -365,6 +365,7 @@ static struct zt_pvt { char lastcallerid[AST_MAX_EXTENSION]; char callwaitcid[AST_MAX_EXTENSION]; char rdnis[AST_MAX_EXTENSION]; + char dnid[AST_MAX_EXTENSION]; unsigned int group; int law; int confno; /* Our conference */ @@ -3731,6 +3732,8 @@ static struct ast_channel *zt_new(struct zt_pvt *i, int state, int startpbx, int strncpy(tmp->exten, i->exten, sizeof(tmp->exten)-1); if (strlen(i->rdnis)) tmp->rdnis = strdup(i->rdnis); + if (strlen(i->dnid)) + tmp->dnid = strdup(i->dnid); if (strlen(i->callerid)) { tmp->callerid = strdup(i->callerid); tmp->ani = strdup(i->callerid); @@ -5797,6 +5800,7 @@ static void *pri_dchannel(void *vpri) strncpy(pri->pvt[chan]->exten, e->ring.callednum, sizeof(pri->pvt[chan]->exten)-1); else strncat(pri->pvt[chan]->exten, e->ring.callednum, sizeof(pri->pvt[chan]->exten)-1); + strncpy(pri->pvt[chan]->dnid, e->ring.callednum, sizeof(pri->pvt[chan]->dnid)); } #if 0 else