Unable to obtain dialed number through ZAP

What I need to do is to try to route called based on the dialed number as I have multiple DIDs on my line. Is this something that can be done? Is this something to do with the hardware that I am using? If so, what kind of hardware do I need to accomplish this task?

Here is my setup:

Asterisk version 1.4.18
TDM card: Digium TDM411B
Zaptel version 1.4.9.2
Line: PSTN line
I tried to obtain the dialed number using $DNID and $CDR(DST) . All of these variable returns 's’
I also tried exten => _3345335,n,Noop(this is ok) where 3345335 is my number but it does not go there.

zapata.conf:

[trunkgroups]

[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
immediate=no
; define channels

context=incoming
signalling=fxs_ks
channel => 1

signalling=fxo_ks
channel=>2

Thanks,
Mark

Mark,
Sure you can. Just set every channel to a different context so you can route it appropriately. You may want something like:

[code]
zapata.conf:

[trunkgroups]

[channels]
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
immediate=no
; define channels

context=incoming1
signalling=fxs_ks
channel => 1

context=incoming2
signalling=fxo_ks
channel=> 2

context=incoming3
signalling=fxs_ks
channel=> 3

context=incoming4
signalling=fxs_ks
channel=> 4 [/code]