diff options
-rw-r--r-- | channels/chan_zap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 494ad971f..8ed8b3ec2 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -8749,8 +8749,13 @@ static void *pri_dchannel(void *vpri) else if (!ast_strlen_zero(e->ring.callednum)) { ast_copy_string(pri->pvts[chanpos]->exten, e->ring.callednum, sizeof(pri->pvts[chanpos]->exten)); ast_copy_string(pri->pvts[chanpos]->dnid, e->ring.callednum, sizeof(pri->pvts[chanpos]->dnid)); - } else + } else if (pri->overlapdial) pri->pvts[chanpos]->exten[0] = '\0'; + else { + /* Some PRI circuits are set up to send _no_ digits. Handle them as 's'. */ + pri->pvts[chanpos]->exten[0] = 's'; + pri->pvts[chanpos]->exten[1] = '\0'; + } /* Set DNID on all incoming calls -- even immediate */ if (!ast_strlen_zero(e->ring.callednum)) ast_copy_string(pri->pvts[chanpos]->dnid, e->ring.callednum, sizeof(pri->pvts[chanpos]->dnid)); |