Asterisk n-way confernence call

Hi ,
I'm trying to configure N-Way Conference call from the example from

When I'm testing it , I'm calling from one extension to another , pressing *0 and ... nothing happens !
From the example , the *0 key needs to open free conference room , move my and the second extensions to that room and then sen me and dial tone to add another extension.
Where could be the problem ? May be Asterisk couldn't recognize the *0 tone ?

Thanks .
Who is Participating?
grbladesConnect With a Mentor Commented:
As feptias mentioned it could be that *0 is detected but there is an error. Hence why I suggested you check what version of asterisk you are running. *0 calls a macro which uses the ChannelRedirect command which according to the documentation was not included until release 1.4 yet you say you have a 1.2 release with it working. Perhaps it was added in a late version or the code was specifically modified to include that feature.
I am not sure about asterisk 1.4 but I know in asterisk 1.2 if you made a change to features.conf you needed to restart asterisk for it to take effect. A simple 'reload' command did not work.

It could also be that the audio is bridged directly between the to extensions and in this case Asterisk is not in the audio path so cannot detect the dtmf tones. As a quick test you could force the phones to use different codecs (ulaw and alaw for example) and that way asterisk will have to stay in the loop. If that does fix it let me know and I will search for the configuration option to disable bridging of the audio.
aquaswAuthor Commented:
I've checked the traffic with the sniffer , I do see that packets dest. address is asterisk's address.
In addition I've tried to check the blind transfer (## key by default) and it works ... I think asterisk just don't know how to deal with *0 key ...
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

Did you restart asterisk (service asterisk restart) after editing features.conf?

I assume you are running asterisk 1.4?
aquaswAuthor Commented:
I don't really know if there is a right version . I've installed Trixbox 2.0.0. When entering to asterisk -rvvv I see that the version is 1.2.14. Can I upgrade it ?  Do I need to upgrade it ?
You wont need to upgrade for this this problem but the other question I am assisting you with will require an upgrade.
aquaswAuthor Commented:
I've restarted the station . No progress . I'm starting to think maybe it is really audio bridge issue ?
It might be a bug or some strange behaviour. As you need to upgrade for your other question I would leave it for now until after you have upgraded. Its always easier to diagnose a problem if you are running the latest software version.
aquaswAuthor Commented:
Ok , i'll let you when he'll be upgraded ...
aquaswAuthor Commented:
Do you know which modules in which files responsible for the tone detect , from sniffer I saw that the phone do sending the packets with * and with 0 . Console of the asterisk do not shows me if he received the keys. May be features.conf for some reason not used ?
Sorry I dont know the internal code of Asterisk. If you are having problems with the codes being detected you could also try changing the method in which they are sent on the phones. You normally have a choice between in-audio, RTP and SIP INFO. You could try changing to a different method and see if that makes a difference.
aquaswAuthor Commented:
Thanks , tried it also already ... SIP INFO rejected (data from sniffer) , and other methods haven't detected (default is RTP ) ...
May be asterisk detecting the codes but don't know what to do with them ... On the other hand , when reloading amportal , I see that ma added n-way modules compiled ...
I checked the commands in the script and if you have a look at the top of the URL you gave you can see it sais you need the latest svn version of asterisk. The svn version is basically the development copy and as it turns out channelredirect and managerredirect were included in asterisk 1.4 so even if you did get the *0 to work the function itself would not work.
aquaswAuthor Commented:
I know that it working with 1.2 , I have a configurations of one asterisk where this feature was implemented . The problem is that the person who implemented it not cooperative at all , so I need to implement it myself ... So first of all  need to make *0 be detected  , and after that I can move on .
Thank you for you help , I'll try to investigate a little the configurations I have to see the different between my files ...
I would check the versions of asterisk aswell. 'asterisk -r -vvv' should tell you.
feptiasConnect With a Mentor Commented:
It is possible that the key presses - *0 - are being detected, but that there is a problem in the script itself when it jumps to the macro? Have you tried increasing the debug level to 3 (CLI command is "set verbose 3") and then examining the step by step execution that is shown using this level of debug?

What I am thinking is that you said ## was detected ok - you said it worked. That means Asterisk is not having any problems detecting DTMF tones from your phone, so maybe there is a problem in what happens in the script when *0 is detected.

aquaswAuthor Commented:
Thanks , I'll check .
DrDamnitConnect With a Mentor Commented:
What kind of phones are you using? SIP? IAXy? POTS?
aquaswAuthor Commented:
Tried to install Asterisk 1.4 . Meanwhile I see the same problem with detecting the tones ... May be this is a feature and have to be enabled somehow ?
I'm usin SIP phones (LINKSYS) .
Can you connect using 'asterisk -r -vvv' and then post the output you get when you dial *0.

I have a few test extensions on my asterisk 1.2 system which start with '#'. That works find for grandstream phones but it would not work with Aastra phones. I found out by using ethereal (packet analyser) that it was URI encoding the # as %23. I therefore had to add the following to the dialplan to work around this :-
exten => _%23XX.,1,GoTo(#${EXTEN:3},1)                 ; workaround for aastra phones

Perhaps it could be something similar for the linksys and the '*' character (converting to %2A)?
If you capture the packet you should be able to see exactly what it sends.
aquaswAuthor Commented:
At last I've moved to asterisk 1.4 ... The problem with the dialed feature codes detection was in the softphone (XLite) ... In the regular IP Phones it worked ...
By the way , I've succeed to make N-Way work in Asterisk 1.2 , I've added the Asyncgoto(...) function instead of the ChannelRedirect and the N-Way worked perfect !!!

So after the installation of the 1.4, I've tried to implement the N-Way ...
Well , it partially works , new problem is like that now :
When talking to the first extension , I'm pressing *0 to move him to the conf. room and to make another call , so I'm dialing to the second extension , meanwhile the first one moved to the conf. room and recieved a message that he is "only person in that conference" , so he seems to be ok.  
The second extension answered to me and now it is a good time to move us both to the conf. room where is the first extension waiting , so I'm pressing ** , now the strange thing happend , the second extension moved to the conf. room and I've been disconnected at all.

May be you could understand what is the problem using the configuration and the output ...
By the way , in the article there is a mark that saing that in 1.4 ManagerRedirect(...) functions should be used instead of ChannelRedirect(...). Well , I've tried to use it ,nothing happened ... It means that the function doesn't exist ???

exten => _.,1,Set(DYNAMIC_FEATURES=nway-start)
exten => _.,n,Dial(SIP/${EXTEN})

exten => _.,1,Answer
exten => _.,n,Set(CONFNO=777)
exten => _.,n,Set(MEETME_EXIT_CONTEXT=dynamic-nway-invite)
exten => _.,n,Set(DYNAMIC_FEATURES=)
exten => _.,n,MeetMe(${CONFNO},pdMX)
exten => _.,n,Hangup

exten => 0,1,Read(DEST,dial,,i)
exten => 0,n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv)
exten => 0,n,Dial(Local/${DEST}@dynamic-nway-dest,,g)
exten => 0,n,Set(DYNAMIC_FEATURES=)
exten => 0,n,Goto(dynamic-nway,${CONFNO},1)
exten => i,1,Goto(dynamic-nway,${CONFNO},1)

exten => _.,1,Dial(SIP/${EXTEN})

exten => s,1,Set(CONFNO=777)
exten => s,n,ChannelRedirect(${BRIDGEPEER},dynamic-nway,${CONFNO},1)
exten => s,n,noop('conference number: '${CONFNO})
exten => s,n,noop('bridge peer : '${BRIDGEPEER})
exten => s,n,Read(DEST,dial,,i)
exten => s,n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv)
exten => s,n,Dial(Local/${DEST}@dynamic-nway-dest,,g)
exten => s,n,Set(DYNAMIC_FEATURES=)
exten => s,n,Goto(dynamic-nway,${CONFNO},1)

exten => s,n,noop('bridge peer : '${BRIDGEPEER})
exten => s,1,ChannelRedirect(${BRIDGEPEER},dynamic-nway,${CONFNO},1)

exten => s,1,SoftHangup(${BRIDGEPEER})

Output :
Me - exten. 1001 ,
First - 1777,
Second - 1010.

 -- Executing [1777@from-internal:1] Set("SIP/1001-b7607280", "DYNAMIC_FEATURES=nway-start") in new stack
    -- Executing [1777@from-internal:2] Dial("SIP/1001-b7607280", "SIP/1777") in new stack
    -- Called 1777
    -- SIP/1777-088d9760 is ringing
    -- SIP/1777-088d9760 answered SIP/1001-b7607280
    -- Packet2Packet bridging SIP/1001-b7607280 and SIP/1777-088d9760
    --  Feature Found: nway-start exten: nway-start
    -- Executing [s@macro-nway-start:1] Set("SIP/1001-b7607280", "CONFNO=777") in new stack
    -- Executing [s@macro-nway-start:2] ChannelRedirect("SIP/1001-b7607280", "SIP/1777-088d9760|dynamic-nway|777|1") in new stack
    -- Executing [s@macro-nway-start:3] NoOp("SIP/1001-b7607280", "conference number: 777") in new stack
    -- Executing [s@macro-nway-start:4] NoOp("SIP/1001-b7607280", "bridge peer : SIP/1777-088d9760") in new stack
    -- Executing [s@macro-nway-start:5] Read("SIP/1001-b7607280", "DEST|dial||i") in new stack
    -- Executing [777@dynamic-nway:1] Answer("SIP/1777-088d9760", "") in new stack
    -- Executing [777@dynamic-nway:2] Set("SIP/1777-088d9760", "CONFNO=777") in new stack
    -- Executing [777@dynamic-nway:3] Set("SIP/1777-088d9760", "MEETME_EXIT_CONTEXT=dynamic-nway-invite") in new stack
    -- Executing [777@dynamic-nway:4] Set("SIP/1777-088d9760", "DYNAMIC_FEATURES=") in new stack
    -- Executing [777@dynamic-nway:5] MeetMe("SIP/1777-088d9760", "777|pdMX") in new stack
    -- Created MeetMe conference 1023 for conference '777'
    -- <SIP/1777-088d9760> Playing 'conf-onlyperson' (language 'en')
    -- Started music on hold, class 'default', on SIP/1777-088d9760
    -- User entered '1010'
    -- Executing [s@macro-nway-start:6] Set("SIP/1001-b7607280", "DYNAMIC_FEATURES=nway-inv#nway-noinv") in new stack
    -- Executing [s@macro-nway-start:7] Dial("SIP/1001-b7607280", "Local/1010@dynamic-nway-dest||g") in new stack
    -- Called 1010@dynamic-nway-dest
    -- Executing [1010@dynamic-nway-dest:1] Dial("Local/1010@dynamic-nway-dest-4e80,2", "SIP/1010") in new stack
    -- Called 1010
    -- SIP/1010-088b0978 is ringing
    -- Local/1010@dynamic-nway-dest-4e80,1 is ringing
    -- SIP/1010-088b0978 answered Local/1010@dynamic-nway-dest-4e80,2
    -- Local/1010@dynamic-nway-dest-4e80,1 stopped sounds
    -- Local/1010@dynamic-nway-dest-4e80,1 answered SIP/1001-b7607280
    -- Packet2Packet bridging SIP/1001-b7607280 and SIP/1010-088b0978
  == Spawn extension (dynamic-nway-dest, 1010, 1) exited non-zero on 'Local/1010@dynamic-nway-dest-4e80,2'
    -- Executing [h@dynamic-nway-dest:1] Dial("Local/1010@dynamic-nway-dest-4e80,2", "SIP/h") in new stack
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Packet2Packet bridging SIP/1001-b7607280 and SIP/1010-088b0978
    -- Packet2Packet bridging SIP/1001-b7607280 and SIP/1010-088b0978
    -- Packet2Packet bridging SIP/1001-b7607280 and SIP/1010-088b0978
    --  Feature Found: nway-inv exten: nway-inv
    -- Executing [s@macro-nway-ok:1] ChannelRedirect("SIP/1001-b7607280", "SIP/1010-088b0978|dynamic-nway|777|1") in new stack
    -- Executing [s@macro-nway-start:8] Set("SIP/1001-b7607280", "DYNAMIC_FEATURES=") in new stack
    -- Executing [s@macro-nway-start:9] Goto("SIP/1001-b7607280", "dynamic-nway|777|1") in new stack
    -- Goto (dynamic-nway,777,1)
  == Channel 'SIP/1001-b7607280' jumping out of macro 'nway-start'
    -- Executing [777@dynamic-nway:1] Answer("SIP/1010-088b0978", "") in new stack
    -- Executing [777@dynamic-nway:2] Set("SIP/1010-088b0978", "CONFNO=777") in new stack
    -- Executing [777@dynamic-nway:3] Set("SIP/1010-088b0978", "MEETME_EXIT_CONTEXT=dynamic-nway-invite") in new stack
    -- Executing [777@dynamic-nway:4] Set("SIP/1010-088b0978", "DYNAMIC_FEATURES=") in new stack
    -- Executing [777@dynamic-nway:5] MeetMe("SIP/1010-088b0978", "777|pdMX") in new stack
  == Spawn extension (dynamic-nway, 777, 0) exited non-zero on 'SIP/1001-b7607280'
    -- Executing [h@dynamic-nway:1] Answer("SIP/1001-b7607280", "") in new stack
  == Spawn extension (dynamic-nway, h, 1) exited non-zero on 'SIP/1001-b7607280'
    -- Stopped music on hold on SIP/1777-088d9760

In this point , the first and the second extensions talking and I'm disconnected...
Sorry no idea. I havent really used AGI and I am still running 1.2 myself.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.