Problems with group calls

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problems with group calls

hartmut.schebl
This post has NOT been accepted by the mailing list yet.
I have some Problems with group calls.
I'm using FreeSWITCH Version 1.6.6-13-d2d0b32~64bit (-13-d2d0b32 64bit) and mod_xml_curl with a java backend to control the FreeSWITCH.
Now my Problem: I have groups, for example:

<document type="freeswitch/xml">
  <section name="directory">
    <domain name="my.domain.de">
      <groups>
        <group name="GROUP1">
          <users>
            <user id="group.user1" type="pointer"/>
            <user id="group.user2" type="pointer"/>
            ...
          </users>
        </group>
      </groups>
    </domain>
  </section>
</document>

Some users inside the groups have multiple devices, for example:

<document type="freeswitch/xml">
  <section name="directory">
    <domain name="my.domain.de">
      <groups>
        <group name="default">
          <users>
            <user id="group.user1" number-alias="163">
              <params>
               
              </params>
              <variables/>
            </user>
          </users>
        </group>
      </groups>
      <variables>
        <variable name="user_context" value="my.domain.de"/>
      </variables>
    </domain>
  </section>
</document>

If I call this group with the +A option like this:

<action application="bridge" data="${group_call(GROUP1@my.domain.de+A)}"/>

only the first device of the user rings.
The channel to the second device is ended immediately.
The Log says:

2016-09-02 10:00:11.724379 [NOTICE] switch_ivr_originate.c:1415 Hangup sofia/internal/82040@172.16.0.21 [CS_INIT] [LOSE_RACE]

If I call the group using the +E option like this:

<action application="bridge" data="${group_call(GROUP1@my.domain.de+E)}"/>

All devices are ringing and that problem is solved, but now I run into an other problem that doesn't exist with +A option.
I use groups for fail over. If some user doesn't answer in a defined time a group should start ringing together with the user.
The line in dialplan for this is:

<action application="bridge" data="<ignore_early_media=true>user/some.user@my.domain.de:_:{origination_caller_id_name='Failover',is_failover='true'}[originate_delay_start=20000]${group_call(GROUP1@my.domain.de+E)}"/>

In this case only the first user (group.user1 from example above) respects the delay all following users of the group start ringing immediately together with 'some.user'.
I also tried an other syntax:

<action application="bridge" data="<ignore_early_media=true>user/soma.user@my.domain.de:_:{originate_delay_start=20000,origination_caller_id_name='Failover',is_failover='true'}${group_call(GROUP1@my.domain.de+E)}"/>

But I get the same problem and additionally the delay of 'group.user1' is doubled.
I have no idea how to get out of this vicious circle.
Either I can use only one device per user or I can't start the group delayed.
Please help me to solve this problem.

Best Regards,

Hartmut
Loading...