Allow simultaneous calls while callee is in use

Hi, I’m new to this forum (and asterisk) and I want to say hello to everybody.

I’m trying to setup a simple asterisk environment for testing purposes with two SIP users, alice and bob, where alice can place multiple calls to bob simultaneously.

This is the scenario I want:

  1. alice calls bob; bob answers and call is established (call# 1)
  2. alice calls bob again; bob answers and call is established (call# 2)
  3. alice hangs up call #1
  4. alice hangs up call #2

However, what I’m seeing is that by default, call #2 cannot be placed because bob’s device is “in use”.

I already tried some configuration parameters, such as:

  • queues.conf: ringinuse=yes; joinempty=; leavewhenempty=
  • sip.conf: call-limit = some_large_number; callcounter=yes;
  • dialpan: busylevel=10

But still no avail.

Can someone direct me in the right direction? I’m running version Asterisk 1.8.10.1~dfsg-1ubuntu1.

Thanks!

Why do you mention queues.conf?

Can you please provide your dialplan, and verbose level 5 logging for a call.

Generally, for a SIP device (you didn’t say) that supports multiple calls, the one line dialplan for this will work.

I’m wondering you you really asking this about FreePBX, which isn’t supported here.

Hi david551,

I only mention queues.conf because it was one of the things I tried (e.g., CheckSet()).

Yes, it’s a SIP device.

Here’s my sip.conf:

[general]
bindport=5060
bindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0

[alice]
context=internal
type=friend
host=dynamic
secret=***
transport=udp,tcp

[bob]
context=internal
type=friend
host=dynamic
secret=***
transport=udp,tcp

and extensions.conf (dialplan):

[internal]
exten => alice,1,Answer()
  same => n,Dial(SIP/alice,5)
  same => n,Hangup()

exten => bob,1,Answer()
  same => n,Dial(SIP/bob,5)
  same => n,Hangup()

and the log when placing 3 simultaneous calls from alice to bob:

    -- Registered SIP 'alice' at 95.85.55.177:55633
       > Saved useragent "ThousandEyes 36880,1095,1473973680" for peer alice
    -- Registered SIP 'alice' at 119.9.74.184:49393
       > Saved useragent "ThousandEyes 36880,937,1473973680" for peer alice
    -- Registered SIP 'alice' at 128.199.251.120:37790
       > Saved useragent "ThousandEyes 36880,1098,1473973680" for peer alice
== Using SIP RTP CoS mark 5
    -- Executing [bob@internal:1] Answer("SIP/alice-000000ae", "") in new stack
== Using SIP RTP CoS mark 5
    -- Executing [bob@internal:1] Answer("SIP/alice-000000af", "") in new stack
== Using SIP RTP CoS mark 5
    -- Executing [bob@internal:1] Answer("SIP/alice-000000b0", "") in new stack
    -- Executing [bob@internal:2] Dial("SIP/alice-000000ae", "SIP/bob,5") in new stack
== Using SIP RTP CoS mark 5
    -- Called SIP/bob
    -- Executing [bob@internal:2] Dial("SIP/alice-000000af", "SIP/bob,5") in new stack
== Using SIP RTP CoS mark 5
    -- Called SIP/bob
    -- SIP/bob-000000b1 answered SIP/alice-000000ae
    -- Remotely bridging SIP/alice-000000ae and SIP/bob-000000b1
    -- Executing [bob@internal:2] Dial("SIP/alice-000000b0", "SIP/bob,5") in new stack
== Using SIP RTP CoS mark 5
    -- Called SIP/bob
    -- Nobody picked up in 5000 ms
    -- Executing [bob@internal:3] Hangup("SIP/alice-000000af", "") in new stack
== Spawn extension (internal, bob, 3) exited non-zero on 'SIP/alice-000000af'
    -- Nobody picked up in 5000 ms
    -- Executing [bob@internal:3] Hangup("SIP/alice-000000b0", "") in new stack
== Spawn extension (internal, bob, 3) exited non-zero on 'SIP/alice-000000b0'

Looks like the calls are being placed, but bob is not answering…

Thanks!

You could use a conference bridge that will call bob when alice calls the bridge the first time. When she calls from the second line, she would just go to the same bridge.

I just noticed you’re on 1.8. You may be able to use MeetMe in a similar way.

Using packet capture I don’t see the SIP INVITE requests from the subsequent calls arriving at bob (just the first one), so that’s why he’s not answering.

Any idea why asterisk is not forwarding the subsequent INVITEs?

– EDIT –

Nerver mind, asterisk is reusing the same TCP connection to send INVITEs from different calls.

Thank you everyone for the help.