Call Back from Conference Room

Hello Everyone.
The scenario i want to achieve is given below. Please some give me a proper idea.
My extension is 1800 and i want to call a group number and it will cal 4 to 5 outgoing mobile number and make a conference together. But if any one unable to received the the call or a new one want to join the conference he will call a DID number and the call will hangup and he will be call backed from asterisk and joined in the conference room.

Till now i am able to callback from an extension using originate command of AMI but can not join the user in the conference room.

If anyone has any solutions please help me out.

You should be able to direct the outbound call into the Conference application with your originate.

You may need to send the caller to a dialplan target instead of using the Confbridge() application directly.

1 Like

can you provide me any sample code??

I can’t today, I’m attending Astricon in Orlando and only have limited connectivity.

I’d search the forum for Confbridge and see if you can find an example as how to use it.

1 Like

This is my current dialplan:

[internal]
exten => 1234,1,Wait(1)
same => n,Originate(SIP/colocity-sip/011XXXXXXXX,exten,internal,8901)
same => n,Originate(SIP/colocity-sip/012XXXXXXXX,exten,internal,8901)
same => n,Originate(SIP/colocity-sip/013XXXXXXXX,exten,internal,8901)
same => n,ConfBridge(1,default_bridge,default_user)
same => n,Hangup

exten => 8901,1,NoOp(“Entering to conf room”)
same => n,ConfBridge(1,default_bridge,default_user)

Now what i want is if a new user wants to join the conference he will call a number and his call will be declined so that he don’t have to pay. Then asterisk will call him and join to the conference.

1 Like

To do that you’d want to write some logic like this:


[from-external]
exten => s,1,NoOP()
 same => n,NoOP(Received call from ${CALLERID(NUM)})
 same => n,Hangup()
 same => h,1,NoOP(Call Hung up)
 same => n,Wait(5)
 same => n,Originate(SIP/colocity-sip/${CALLERID(NUM)},exten,internal,8901)

I haven’t tested this but hopefully you should get the gist of it, Receive the call, Hang it up and in the Hangup extension (or better yet a Hangup Handler) wait and then originate a call to the person that just called you.

Thank you for your kind response but the call just hang up it doesn’t go to the next line [same => h,1,NoOP(Call Hung up)]

Here is the output from the asterisk CLI


  == Using SIP RTP CoS mark 5
    -- Executing [5555@mobile-tnt:1] NoOp("SIP/1898-00000007", ""Call for 55555"") in new stack
    -- Executing [5555@mobile-tnt:2] Goto("SIP/1898-00000007", "from-external,s,1") in new stack
    -- Goto (from-external,s,1)
    -- Executing [s@from-external:1] NoOp("SIP/1898-00000007", "") in new stack
    -- Executing [s@from-external:2] NoOp("SIP/1898-00000007", "Received call from 1898") in new stack
    -- Executing [s@from-external:3] Hangup("SIP/1898-00000007", "") in new stack
  == Spawn extension (from-external, s, 3) exited non-zero on 'SIP/1898-00000007'

And here is my extensions.conf configuration


[internal]
exten => 8901,1,NoOp("Entering to conf room")
same => n,ConfBridge(1,default_bridge,default_user)

exten => 5555,1,NoOp("Call for 55555")
exten => 5555,n,Goto(from-external,s,1)


[from-external]
exten => s,1,NoOP()
 same => n,NoOP(Received call from ${CALLERID(NUM)})
 same => n,Hangup()
 same => h,1,NoOP(Call Hung up)
 same => n,Wait(5)
 same => n,Originate(SIP/${CALLERID(NUM)},exten,internal,8901)

You can’t supply an extension number on a same => line!

Incidentally, the h extension will be run before the SIP call is fully hungup, so the originate might fail because of that. I’d originate to a local channel and introduce a delay before dialling.

Here is the changed code

[from-external]
exten => s,1,NoOP()
 same => n,NoOP(Received call from ${CALLERID(NUM)})
 same => n,Hangup()
exten => h,1,NoOP(Call Hung up)
 same => n,Wait(5)
 same => n,Originate(SIP/${CALLERID(NUM)},exten,internal,8901)

And it agian hangs up but didn’t start originate

  == Using SIP RTP CoS mark 5
    -- Executing [5555@mobile-tnt:1] NoOp("SIP/1898-0000000b", ""Call for 5555"") in new stack
    -- Executing [5555@mobile-tnt:2] Goto("SIP/1898-0000000b", "from-external,s,1") in new stack
    -- Goto (from-external,s,1)
    -- Executing [s@from-external:1] NoOp("SIP/1898-0000000b", "") in new stack
    -- Executing [s@from-external:2] NoOp("SIP/1898-0000000b", "Received call from 1898") in new stack
    -- Executing [s@from-external:3] Hangup("SIP/1898-0000000b", "") in new stack
  == Spawn extension (from-external, s, 3) exited non-zero on 'SIP/1898-0000000b'
    -- Executing [h@from-external:1] NoOp("SIP/1898-0000000b", "Call Hung up") in new stack
    -- Executing [h@from-external:2] Wait("SIP/1898-0000000b", "5") in new stack
  == Spawn extension (from-external, h, 2) exited non-zero on 'SIP/1898-0000000b'

I want to execute Originate application after the Hangup. Is that possible without AGI?? If possible then how to do that?

Use a local channel in the originate and put the delay in that.