Make conference call in adhearsion

93 views
Skip to first unread message

sudeep parajuli

unread,
Dec 8, 2015, 4:37:36 AM12/8/15
to Adhearsion
while making a multiple call through dial option,when I answer the first call the other call will disconnect automatically.How could I make a conference call in adhearsion ?

Ben Klang

unread,
Dec 8, 2015, 6:18:45 AM12/8/15
to adhea...@googlegroups.com

Il giorno Dec 8, 2015, alle ore 1:06 AM, sudeep parajuli <sudeep.pa...@gmail.com> ha scritto:

while making a multiple call through dial option,when I answer the first call the other call will disconnect automatically.How could I make a conference call in adhearsion ?


The dial method is used to reach out to multiple destinations in a first-answer-wins mode, as you’ve discovered. If you want to reach out to multiple destinations and keep them all connected, you will need to use Originate to start the call, then #join to put them into a conference bridge.

Something roughly like this:

Adhearsion::OutboundCall.originate ‘sip:f...@example.com', from: ’sip:bar@example.com' do
  answer
  join mixer_name: “my_conference_room"
end

You would do the above originate once for each destination you wanted joined to the conference bridge.

-- 
Ben Klang
Principal/Technology Strategist, Mojo Lingo

Mojo Lingo -- Voice applications that work like magic
Twitter: @MojoLingo


--
You received this message because you are subscribed to the Google Groups "Adhearsion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adhearsion+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

signature.asc

sudeep parajuli

unread,
Dec 9, 2015, 2:21:11 AM12/9/15
to Adhearsion
This is my error message.


test_test  ahn start 
Starting Adhearsion server at /home/sudeep/test_test
AHN> {:adapter=>"mysql2", :database=>"Ncell_test", :username=>"root", :password=>"sudeep123", :host=>"localhost", :port=>3306}
[2015-12-09 12:50:30.773] ERROR Adhearsion::OutboundCall: da046626-e758-4bc6-bf0b-c4b1defe49c5@: <Punchblock::ProtocolError> #<Punchblock::ProtocolError: name=:service_unavailable text="Could not find join party with address " call_id="da046626-e758-4bc6-bf0b-c4b1defe49c5" component_id=nil>


On Tuesday, December 8, 2015 at 5:03:45 PM UTC+5:45, Ben Klang wrote:

Il giorno Dec 8, 2015, alle ore 1:06 AM, sudeep parajuli <sudeep.pa...@gmail.com> ha scritto:

while making a multiple call through dial option,when I answer the first call the other call will disconnect automatically.How could I make a conference call in adhearsion ?


The dial method is used to reach out to multiple destinations in a first-answer-wins mode, as you’ve discovered. If you want to reach out to multiple destinations and keep them all connected, you will need to use Originate to start the call, then #join to put them into a conference bridge.

Something roughly like this:

Adhearsion::OutboundCall.originate ‘sip:foo@example.com', from: ’sip:bar@example.com' do

sudeep parajuli

unread,
Dec 9, 2015, 2:22:41 AM12/9/15
to Adhearsion

since the previous problem was solved.But I am unable to join the two call.
This is my error message.

test_test  ahn start 
Starting Adhearsion server at /home/sudeep/test_test
AHN> {:adapter=>"mysql2", :database=>"Ncell_test", :username=>"root", :password=>"sudeep123", :host=>"localhost", :port=>3306}
[2015-12-09 12:50:30.773] ERROR Adhearsion::OutboundCall: da046626-e758-4bc6-bf0b-c4b1defe49c5@: <Punchblock::ProtocolError> #<Punchblock::ProtocolError: name=:service_unavailable text="Could not find join party with address " call_id="da046626-e758-4bc6-bf0b-c4b1defe49c5" component_id=nil>






On Tuesday, December 8, 2015 at 5:03:45 PM UTC+5:45, Ben Klang wrote:

Il giorno Dec 8, 2015, alle ore 1:06 AM, sudeep parajuli <sudeep.pa...@gmail.com> ha scritto:

while making a multiple call through dial option,when I answer the first call the other call will disconnect automatically.How could I make a conference call in adhearsion ?


The dial method is used to reach out to multiple destinations in a first-answer-wins mode, as you’ve discovered. If you want to reach out to multiple destinations and keep them all connected, you will need to use Originate to start the call, then #join to put them into a conference bridge.

Something roughly like this:

Adhearsion::OutboundCall.originate ‘sip:foo@example.com', from: ’sip:bar@example.com' do

sudeep....@yipl.com.np

unread,
Dec 9, 2015, 4:32:37 AM12/9/15
to Adhearsion
This has solved the partial problem in which both the call will not be disconnected.But when I answer any of the individual call, the call that I answer  would be hungup? so I am having problem in making a conference call .


On Tuesday, December 8, 2015 at 5:03:45 PM UTC+5:45, Ben Klang wrote:

Il giorno Dec 8, 2015, alle ore 1:06 AM, sudeep parajuli <sudeep.pa...@gmail.com> ha scritto:

while making a multiple call through dial option,when I answer the first call the other call will disconnect automatically.How could I make a conference call in adhearsion ?


The dial method is used to reach out to multiple destinations in a first-answer-wins mode, as you’ve discovered. If you want to reach out to multiple destinations and keep them all connected, you will need to use Originate to start the call, then #join to put them into a conference bridge.

Something roughly like this:

Adhearsion::OutboundCall.originate ‘sip:foo@example.com', from: ’sip:bar@example.com' do

Ben Langfeld

unread,
Dec 9, 2015, 4:35:06 AM12/9/15
to adhea...@googlegroups.com
Are you using Asterisk? We do not support joining to mixers in this way on Asterisk yet; you must use Adhearsion-asterisk and explicitly invoke ConfBridge.

Enviado do meu iPhone

sudeep....@yipl.com.np

unread,
Dec 9, 2015, 4:44:26 AM12/9/15
to Adhearsion

Hello Ben,

I am currently using Adhearsion-asterisk .can you elaborate how to use confBridge in Adhearsion-asterisk?

Ben Langfeld

unread,
Dec 9, 2015, 5:48:58 AM12/9/15
to adhea...@googlegroups.com
execute 'ConfBridge', 'someroom'

Enviado do meu iPhone

sudeep....@yipl.com.np

unread,
Dec 9, 2015, 5:55:28 AM12/9/15
to Adhearsion
This is my code .





class Test < Adhearsion::CallController
   def run 
  Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
  answer
  join mixer_name:"room1" 
  end 
Adhearsion::OutboundCall.originate 'SIP/BigyanDai', from: 'SIP/SudeepPhone' do
answer
  join mixer_name:"room1"
  execute 'ConfBridge', "room1"
       end
   end
end

sudeep....@yipl.com.np

unread,
Dec 9, 2015, 6:02:14 AM12/9/15
to Adhearsion
This is my code .  still I am not able to join two calls.





class Test < Adhearsion::CallController
   def run 
   Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
   answer
  join mixer_name:"room1" 
  end 
Adhearsion::OutboundCall.originate 'SIP/BigyanDai', from: 'SIP/SudeepPhone' do
answer
  join mixer_name:"room1"
  execute 'ConfBridge', "room1"
       end
   end
end

Ben Langfeld

unread,
Dec 9, 2015, 7:43:48 AM12/9/15
to adhea...@googlegroups.com
You cannot use #join, you must use ConfBridge directly for both calls.

Ben Klang

unread,
Dec 9, 2015, 8:54:39 AM12/9/15
to adhea...@googlegroups.com
Just remove the line `join mixer_name: “room1”` entirely. It is replaced by `execute ‘ConfBridge’, ‘room1’`

/BAK/

-- 
Ben Klang
Principal/Technology Strategist, Mojo Lingo

Mojo Lingo -- Voice applications that work like magic
Twitter: @MojoLingo


signature.asc

Cristian Livadaru

unread,
Dec 9, 2015, 9:59:50 AM12/9/15
to Adhearsion
without some code it would be hard to help you.
Also ... never ... never ... send passwords to any mailing list.

Cris

On 9 Dec 2015, at 8:21, sudeep parajuli wrote:

> This is my error message.
>
>
> test_test ahn start
> Starting Adhearsion server at /home/sudeep/test_test
> AHN> {:adapter=>"mysql2", :database=>"Ncell_test", :username=>"root",
> :password=>"sudeep123", :host=>"localhost", :port=>3306}
> [2015-12-09 12:50:30.773] ERROR Adhearsion::OutboundCall:
> da046626-e758-4bc6-bf0b-c4b1defe49c5@: <Punchblock::ProtocolError>
> #<Punchblock::ProtocolError: name=:service_unavailable text="Could not
> find
> join party with address "
> call_id="da046626-e758-4bc6-bf0b-c4b1defe49c5"
> component_id=nil>
>
>
> On Tuesday, December 8, 2015 at 5:03:45 PM UTC+5:45, Ben Klang wrote:
>>
>>
>> Il giorno Dec 8, 2015, alle ore 1:06 AM, sudeep parajuli <
>> sudeep.pa...@gmail.com <javascript:>> ha scritto:
>>
>> while making a multiple call through dial option,when I answer the
>> first
>> call the other call will disconnect automatically.How could I make a
>> conference call in adhearsion ?
>>
>>
>> The dial method is used to reach out to multiple destinations in a
>> first-answer-wins mode, as you’ve discovered. If you want to reach
>> out to
>> multiple destinations and keep them all connected, you will need to
>> use
>> Originate to start the call, then #join to put them into a conference
>> bridge.
>>
>> Something roughly like this:
>>
>> Adhearsion::OutboundCall.originate ‘sip:f...@example.com', from:
>> ’sip:bar@
>> example.com' do
>> answer
>> join mixer_name: “my_conference_room"
>> end
>>
>> You would do the above originate once for each destination you wanted
>> joined to the conference bridge.
>>
>> --
>> Ben Klang
>> Principal/Technology Strategist, Mojo Lingo
>> bkl...@mojolingo.com <javascript:>
>> +1.404.475.4841
>>
>> Mojo Lingo -- *Voice applications that work like magic*
>> http://mojolingo.com
>> Twitter: @MojoLingo
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups
>> "Adhearsion" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an
>> email to adhearsion+...@googlegroups.com <javascript:>.

sudeep parajuli

unread,
Dec 9, 2015, 10:51:04 PM12/9/15
to adhea...@googlegroups.com
This is my code .Still I am unable to bridge the two call .


class Test < Adhearsion::CallController
   def run 
  Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
  answer
  `execute ‘ConfBridge’, ‘room1’`
  end
 
Adhearsion::OutboundCall.originate 'SIP/BigyanDai', from: 'SIP/SudeepPhone' do
answer
 `execute ‘ConfBridge’, ‘room1’`
  
     end
   end
end


Adhearsion::OutboundCall.originate ‘sip:f...@example.com', from: ’sip:bar@example.com' do

--
You received this message because you are subscribed to a topic in the Google Groups "Adhearsion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/adhearsion/GFKfgDa-DNg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to adhearsion+...@googlegroups.com.

sudeep....@yipl.com.np

unread,
Dec 9, 2015, 10:54:52 PM12/9/15
to Adhearsion
Hello Ben,


This is my code .Still I am unable to bridge the two call .


class Test < Adhearsion::CallController
   def run 
   Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
   answer
   `execute ‘ConfBridge’, ‘room1’`
  end
 
Adhearsion::OutboundCall.originate 'SIP/BigyanDai', from: 'SIP/SudeepPhone' do
answer
 `execute ‘ConfBridge’, ‘room1’`
  
     end
   end
end

sudeep....@yipl.com.np

unread,
Dec 9, 2015, 10:55:10 PM12/9/15
to Adhearsion
Hello Ben,


This is my code .Still I am unable to bridge the two call .


class Test < Adhearsion::CallController
   def run 
   Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
   answer
   `execute ‘ConfBridge’, ‘room1’`
  end
 
Adhearsion::OutboundCall.originate 'SIP/BigyanDai', from: 'SIP/SudeepPhone' do
answer
 `execute ‘ConfBridge’, ‘room1’`
  
     end
   end
end

Ben Klang

unread,
Dec 9, 2015, 11:27:36 PM12/9/15
to adhea...@googlegroups.com
The backticks that I included in my example weren’t meant to be taken literally - it’s how code is quoted in Markdown. Try removing the backticks, just like this:

def run 
   Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
   answer
   execute ‘ConfBridge’, ‘room1’
   end
end
 
-- 
Ben Klang
Principal/Technology Strategist, Mojo Lingo

Mojo Lingo -- Voice applications that work like magic
Twitter: @MojoLingo

signature.asc

sudeep parajuli

unread,
Dec 9, 2015, 11:53:50 PM12/9/15
to Adhearsion


Hello Ben,


By removing the backticks also I am getting the error.

My code is :

class Test < Adhearsion::CallController
   def run 
  Adhearsion::OutboundCall.originate 'SIP/take', from: 'SIP/SudeepPhone' do
  answer
  execute ‘ConfBridge’, ‘room1’
  end 
Adhearsion::OutboundCall.originate 'SIP/BigyanDai', from: 'SIP/SudeepPhone' do
answer
execute ‘ConfBridge’, ‘room1’
  
   end
  end
end




Adhearsion::OutboundCall.originate ‘sip:foo@example.com', from: ’sip:bar@example.com' do

sudeep parajuli

unread,
Dec 9, 2015, 11:58:44 PM12/9/15
to Adhearsion
My adhearsion version is 2.6.2.still cannot bridge the call .

Ben Klang

unread,
Dec 10, 2015, 12:09:40 AM12/10/15
to adhea...@googlegroups.com
Please help us help you. We really need to see logs and get a better description of whatever trouble you’re having.  The code is good, but it’s only one part of it.

These two links can help you ask better questions:

/BAK/
-- 
Ben Klang
Principal/Technology Strategist, Mojo Lingo

Mojo Lingo -- Voice applications that work like magic
Twitter: @MojoLingo

signature.asc

Ben Klang

unread,
Dec 10, 2015, 12:10:25 AM12/10/15
to adhea...@googlegroups.com
Sorry, I gave the wrong second link, it should have been this: http://adhearsion.com/docs/dealing-with-bugs

-- 
Ben Klang
Principal/Technology Strategist, Mojo Lingo

Mojo Lingo -- Voice applications that work like magic
Twitter: @MojoLingo

signature.asc

sudeep parajuli

unread,
Dec 10, 2015, 12:44:55 AM12/10/15
to Adhearsion
Hello Ben,

I am trying to confbridge two SIP pnones SIP/BigyanDai and SIP/take . The SIP/SudeepPhone call to adhearsion and the adhearsion code tries to bridge two phones SIP/BigyanDai and SIP/take.But the problem is ,when I try to answer the call in SIP/BigyanDai and SIP/take the call would be hang up i.e,It does not connect two phones SIP/BigyanDai and SIP/take . I have submitted the detail log of the error in both adhearsion and asterisk along with the verison number.

Aterisk version = 11.19.0
Adhearsion Version = 2.6.2

http://ur1.ca/oc4t2 (asterisk log)
http://ur1.ca/oc4t9 (adhearsion log)
http://ur1.ca/oc4tb (program code )

Ben Klang

unread,
Dec 11, 2015, 5:35:37 PM12/11/15
to adhea...@googlegroups.com
Hello Sudeep,

Thank you for that last report, it was much clearer and helped me immediately see the problem.

It appears that some unicode quotation marks have slipped in, probably from our email clients. If you look at the Adhearsion log on line 101, it shows

 “[2015-12-10 11:13:56.896] ERROR Adhearsion::OutboundCall: 5ba99b6a-a863-49d1-a2f2-8529489c9cde@<NoMethodError> undefined method`‘ConfBridge’' for #<Test call=, metadata={}>


Notice that the quotation marks around ConfBridge are slightly angled. These are not normal single-quote marks that you type with a keyboard, they are auto-corrected quotation marks that editors often replace to look more like literary works rather than software source code.

Let me suggest that instead of copying/pasting from email, you may want to manually type the lines. Or, at the very least, inspect all the quotation marks and other punctuation to make sure they didn’t get mangled in transit.

To make this a bit easier for you, I’ve put a cleaned-up example into a Gist, which should also avoid any autocorrect/unicode issues: https://gist.github.com/bklang/0fd5e2ce8d54c3d23236

Hope that helps,
/BAK/
-- 
Ben Klang
Principal/Technology Strategist, Mojo Lingo

Mojo Lingo -- Voice applications that work like magic
Twitter: @MojoLingo
signature.asc
Reply all
Reply to author
Forward
0 new messages