Задать вопрос
Voiddancer
@Voiddancer
node js backend

Как во freeswitch совершать звонки на текстовые экстеншены вида user?

Здравствуйте.
Требуется авторизовывать пользователей по текстовым аккаунтам вида "uservasya".
После этого надо на них и с них звонить.
Звонки с них проходят без проблем. Отображется в callerid то, что указывается как effective_caller_id_number. Но на них дозвониться не получается.
Я пробовал два варианта:
<user id="user">
    <params>
      <param name="password" value="$${default_password}"/>
      <param name="vm-password" value="1011"/>
    </params>
    <variables>
      <variable name="toll_allow" value="domestic,international,local"/>
      <variable name="accountcode" value="1011"/>
      <variable name="user_context" value="default"/>
      <variable name="effective_caller_id_name" value="Extension 1011"/>
      <variable name="effective_caller_id_number" value="1011"/>
      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
      <variable name="callgroup" value="techsupport"/>
    </variables>
  </user>

и
<include>
  <user id="user">
    <params>
      <param name="password" value="$${default_password}"/>
      <param name="vm-password" value="user"/>
    </params>
    <variables>
      <variable name="toll_allow" value="domestic,international,local"/>
      <variable name="accountcode" value="user"/>
      <variable name="user_context" value="default"/>
      <variable name="effective_caller_id_name" value="Extension user"/>
      <variable name="effective_caller_id_number" value="user"/>
      <variable name="outbound_caller_id_name" value="$${outbound_caller_name}"/>
      <variable name="outbound_caller_id_number" value="$${outbound_caller_id}"/>
      <variable name="callgroup" value="techsupport"/>
    </variables>
  </user>
</include>

Для второго варианта я добавил в диалплане такое:
<extension name="Local_Extension_2">
      <condition field="destination_number" expression="^(\w)$">
	<action application="export" data="dialed_extension=$1"/>
	<!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> -->
	<action application="bind_meta_app" data="1 b s execute_extension::dx XML features"/>
	<action application="bind_meta_app" data="2 b s record_session::$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
	<action application="bind_meta_app" data="3 b s execute_extension::cf XML features"/>
	<action application="bind_meta_app" data="4 b s execute_extension::att_xfer XML features"/>
	<action application="set" data="ringback=${us-ring}"/>
	<action application="set" data="transfer_ringback=$${hold_music}"/>
	<action application="set" data="call_timeout=30"/>
	<!-- <action application="set" data="sip_exclude_contact=${network_addr}"/> -->
	<action application="set" data="hangup_after_bridge=true"/>
	<!--<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
	<action application="set" data="continue_on_fail=true"/>
	<action application="hash" data="insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}"/>
	<action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
	<action application="set" data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>
	<action application="hash" data="insert/${domain_name}-last_dial_ext/${called_party_callgroup}/${uuid}"/>
	<action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/>
	<!--<action application="export" data="nolocal:rtp_secure_media=${user_data(${dialed_extension}@${domain_name} var rtp_secure_media)}"/>-->
	<action application="hash" data="insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}"/>
	<action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
	<action application="answer"/>
	<action application="sleep" data="1000"/>
	<action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/>
      </condition>

Звонки, к сожалению, не проходят. Ни на user, ни на 1011.
Подскажите, как это осуществить?
  • Вопрос задан
  • 626 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
vm-password не имеет отношения к звонкам вообще
accountcode, effective_caller_id_name и effective_caller_id_name имеют отношение только к исходящим
в итоге ваши варианты в плане входящих абсолютно идентичны
<condition field="destination_number" expression="^(\w+)$">

и курить логи
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы