[Asterisk-Users] IAX2 Call menu handling problem with Norstar

Christopher Lee chris at datachaos.com.au
Sun Feb 22 20:23:27 MST 2004


A quick rundown of my setup...

Norstar FXS <-> X100P- Asterisk (Starlight) <-> IAX2 <-> Asterisk (Voipsrv)
<-> Cisco 7940 SIP

Now what I've done is to setup a simple menu system on my Asterisk (Voipsrv)
to allow the caller to select which extension to ring off Voipsrv. The main
benefit being that I can make the menu system pretty tight with timeouts so
that the Zaptel interface (X100P) on Starlight is hungup properly, since
there's no supervision on the Norstar.

What's _really_ got me stumped now is this. When I make a call from my
mobile phone, direct indial to the * Starlight box, the call is passed
neatly through to Voipsrv and I get the menus, can dial my extension, and
the call functions just great.

However, when someone on a internal Norstar extension dials Starlight, the
call is passed to Voipsrv, and then they get the menu, dial 1 for my
extension (Cisco 7940) and it rings. However when I answer, I cannot hear a
thing, and they cannot hear a thing!

I don't understand how a call from the internal Norstar extension can be
different from a direct indial call from the ISDN, as they both go through
the same analog port on the Norstar and the same X100P interface.

At first I figured the problem was not having an Answer line at the start of
my menu, which I've now added but still hasn't solved the problem.

I've noticed when a call comes in that was dialled from a Norstar extension,
the messages on the Voipsrv console are:

   -- Accepting AUTHENTICATED call from 192.168.0.252, requested format = 4,
actual format = 4
   -- Executing Goto("IAX2[aushot at aushot]/1", "from-aushot|s|1") in new
stack
   -- Goto (from-aushot,s,1)
   -- Executing Answer("IAX2[aushot at aushot]/1", "") in new stack

And when I place a call from my mobile through the Norstar's ISDN DID trunk,
and onto starlight I see the following on Voipsrv:

   -- Accepting AUTHENTICATED call from 192.168.0.252, requested format = 4,
actual format = 4
   -- Executing Goto("IAX2[aushot at aushot]/2", "from-aushot|s|1") in new
stack
   -- Goto (from-aushot,s,1)
   -- Executing Answer("IAX2[aushot at aushot]/2", "") in new stack

I'm wondering why the internal call seems to end with /1 and the outside
call /2?

Starlight handles the call from the X100P in the following context:

[inbound-analog]

exten => s,1,SetCallerID(917)
exten => s,2,SetCIDName(Aushot PBX)
exten => s,3,Dial(IAX2/user:pass at 192.168.1.1/591)
exten => s,4,Hangup

And Voipsrv then has a direct goto on extension 591 to the following
context:

[from-aushot]

exten => s,1,Answer
exten => s,2,Background(welcome-dchaos)
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup
exten => i,1,Playback(vm-goodbye)
exten => i,2,Hangup
exten => 1,1,Background(one-moment-please)
exten => 1,2,Dial(${PHONE1},20)
exten => 1,3,Playtones(busy)
exten => 1,4,Wait(5)
exten => 1,5,Hangup
exten => 2,1,Background(one-moment-please)
exten => 2,2,Dial(${PHONE2},20)
exten => 2,3,Playtones(busy)
exten => 2,4,Wait(5)
exten => 2,5,Hangup
exten => 3,1,Background(one-moment-please)
exten => 3,2,Dial(Zap/2,20)
exten => 3,3,Playtones(busy)
exten => 3,4,Wait(5)
exten => 3,5,Hangup

Any suggestions greatly appreciated. Before I implemented this menu system,
I had a simple direct dial to extension 501 from the starlight machine with
a timeout to stop the call going to voicemail, and this worked fine for both
internal and external calls.  

Thanks,
Chris Lee





More information about the asterisk-users mailing list