Hi Folks,
maybe someone here can help me out. I'am still in the process to build a
rather special pbx system and stumble from problem to problem. Now i met
two new problems that starts to drive me crazy.
(Short overview .. a system with 2 BN8S0 cards (DSS1 misdn) to hold the
office phones and one TDM405P (E1 properitary DSS1 like protocol) to
connect to the world.)
Problem 1) dialplan sorting...
maybe i'am simply stupid but it doesn't seem to work as intended: I have
a dialplan roughtly in this form...
_________________________
[section a]
Numerous phone extenstions like
exten => 20,1,Dial(mISDN/1/20/,60,tT)
.
.
.
[section b]
World extensions like ..
exten => _00.,1,WaitForDigits(5000) ; to make sure the dial is a block
dial
exten => _00.,2,Dial(zap/g1/${EXTEN})
.
.
.
[section c]
Services like ...
exten => *1#,1, Macro(BLABLUB)
.
.
[section d]
my garbage container
exten => _.,1,Dial(mISDN/1/20,60,tT)
.
.
[inbound]
include => section a
include => section b
include => section c
include => section d
_______________
All my device got as their default context the inbound context and the
"show dialplan" indicates that the sort order should be correct ... but
if i use a isdn phone take it off and start dialing a number that should
end in my world extension via 00XXXXX i always end in my garbage routine
that should put all unvalid numbers to the operator phone. Immediatly
after pressing the first zero i end in the routine *piep* asterisk
doesn't care at all that there are other extensions that could handle
the call. I played with my garbage handler by makeing him more specefic
like _X., etc .. but witch will only delay the problem to the second
number. As i said .. i start to get crazy .. maybe anyone knows some
hints because as fair as i know .. i did anything correct !
( I tried to juggle the inbound contex but that changed anything at all)
Problem 2:
Busy detection ...
To my trouble we use isdn phones that are stupid as hell. Their firmware
can handle two b-channels but they aren't able to indicate that a second
call comes in if a connection is already established. This leads to the
problem that the 2nd caller simply get the ringing indication and got
disconnected after the time out of the dial command. I tried to counter
the problem in gimping the port selection of the dial command to always
use b-channel one ( e.g. Dial(mISDN/1:1/20) ). That was a good step in
the right direction but if you constrain the dial command to only use
the first b channel the second caller will get a channel unavaible error
and not a busy indication .. i can't simply remap this cause code to
busy i would lose the information for malefunctioning ports this way.
Any idea how i can generate a busy indication on a msn basis ?
Problem 3:
How do i catch calls without a calling party number ?
Don't as why, but it's possible that the system receives calls without a
called party information element so it's possible that calls come in
with a empty number. (This calls should be answered by the operator). If
i enable "immediate=yes" i can fetch such calls via a "s" extension but
the problem is that i nearly catch anything from this device in my "s"
extension if i enable immediate. Any idea how to get this calls without
loseing most of my dialplan functionality ?
would be great if someone can help me out.
greetings
Sven
_______________________________________________
Misdn-asterisk mailing list
[email protected]
http://lists.beronet.com/cgi-bin/mailman/listinfo/misdn-asterisk