freeswitchforum.com
https://freeswitchforum.com/

номер телефона позвонившего при поднятии трубки оператором
https://freeswitchforum.com/viewtopic.php?f=6&t=4
Страница 2 из 3

Автор:  joohny [ 15 июл 2012 19:58 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

Попробуйте такой кусок кода(возможно без одинарных кавычек)
Код:
<extension name="group_dial_sales">
   <condition field="destination_number" expression="^2000$">
      <action application="export" data="nolocal:execute_on_answer=curl 'http://mysite.ru/start.php'"/>
      <action application="bridge" data="${group_call(sales@${domain_name})}"/>
   </condition>
</extension>

Автор:  it4my [ 16 июл 2012 01:49 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

да, работает, спасибо
еще вопрос
через какую переменную получать номер поднявшего трубку диспетчера?
если ставлю ${destination_number} то определяется номер группы, а нужен номер диспетчера который поднял трубку

Автор:  joohny [ 16 июл 2012 09:42 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

Во FreeSWITCH есть такое приложение как info

Попробуйте такой кусок кода:
Код:
<extension name="group_dial_sales">
   <condition field="destination_number" expression="^2000$">
      <action application="export" data="nolocal:execute_on_answer=info/>
      <action application="bridge" data="${group_call(sales@${domain_name})}"/>
   </condition>
</extension>


Во время ответа в консоли FreeSWITCH появится большой массив канальных переменных, в одной из них будет - ответивший канал. Соответственно, можно данную переменную передавать в скрипт. Если не затруднит, итоговое свое решение напишите сюда, чтобы информация не терялась :)

Автор:  it4my [ 16 июл 2012 12:42 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

выявил переменные
с помощью Вашего кода

channel_name, presence_id, sip_contact_user, sip_contact_uri (передают номер диспетчера только в вашем коде но не моем)
destination_number, sip_full_to, sip_req_uri, sip_to_user, sip_to_uri (передают номер диспетчера только в вашем коде, передают группу а не номер диспетчера поднявшего в моем коде)

но все они передают в итоговом моем скрипте номер клиента который набирает
<action application="export" data="nolocal:execute_on_answer=curl http://mysite.ru/start.php post client=${caller_id_number}&disp=${переменная}"/>

то есть если запускать ваш код то переменные на экран выдаются , а потом в моем коде в значении переменной передается номер клиента который набрал

если сделать как ниже то переменные не выводятся
<extension name="group_dial_sales">
<condition field="destination_number" expression="^2000$">
<action application="export" data="nolocal:execute_on_answer=info"/>
<action application="export" data="nolocal:execute_on_answer=curl http://mysite.ru/start.php post client=${caller_id_number}&disp=${presence_id}"/>
<action application="bridge" data="${group_call(sales@${domain_name})}"/>
</condition>
</extension>

Автор:  joohny [ 16 июл 2012 12:50 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

it4my, используйте, пожалуйста тег Code на форуме для вставки кусков кода.
Этот код немного некорректен
Код:
<action application="export" data="nolocal:execute_on_answer=info"/>
<action application="export" data="nolocal:execute_on_answer=curl http://mysite.ru/start.php post client=${caller_id_number}&disp=${presence_id}"/>

Это все равно что одной и той же переменной присвоить два раза разные значения(в ней сохранится последнее значение)
Вы можите использовать только один раз - или то или другое.

Соответственно использовав info вы узнали какие переменные передавать, теперь просто передавайте их с помощью curl

Автор:  it4my [ 16 июл 2012 13:04 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

я передаю с помощью curl presence_id, но как передавать именно номер диспетчера который поднял трубку
потому что передается номер клиента который позвонил

Код:

    <extension name="group_dial_sales">
      <condition field="destination_number" expression="^2000$">

 <action application="export" data="nolocal:execute_on_answer=curl http://mysite.ru/start.php post client=${caller_id_number}&disp=${presence_id}"/>

   <action application="bridge" data="${group_call(sales@${domain_name})}"/>
   
  </condition>
    </extension>


Автор:  joohny [ 16 июл 2012 13:08 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

а как выглядит presence_id в вашем случае?

Автор:  it4my [ 16 июл 2012 13:11 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

presence_id (передают номер диспетчера только в вашем коде но не моем)

variable_presence_id: [1001@10.0.0.101] = в вашем info коде

а в моем возвращает 1000@10.0.0.101

1000 - клиент
1001 - диспетчер

Автор:  joohny [ 16 июл 2012 13:14 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

я имел ввиду содержимое переменных.

Автор:  it4my [ 16 июл 2012 13:15 ]
Заголовок сообщения:  Re: номер телефона позвонившего при поднятии трубки операто

написал выше

Страница 2 из 3 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/