В папке dialplan, в дополнение к уже существующему "Софьиному" , создал файл internal.xml:
Код:
<include>
<context name="internal">
<extension name="unloop">
<condition field="${unroll_loops}" expression="^true$"/>
<condition field="${sip_looped_call}" expression="^true$">
<action application="deflect" data="${destination_number}"/>
</condition>
</extension>
<X-PRE-PROCESS cmd="include" data="internal/*.xml"/>
</context>
</include>
Соотвественно, в папке dialplan/internal
есть файл 01internal.xml
Код:
<include>
<extension name="Local_Sip_Both">
<condition field="destination_number" expression="^(1[01279][0-8])$">
<action application="set" data="effective_caller_id_name=${user_data(${caller_id_number}@${domain} var effective_caller_id_name)}"/>
<action application="set" data="effective_caller_id_number=${user_data(${caller_id_number}@${domain} var effective_caller_id_number)}"/>
<action application="set" data="continue_on_fail=true"/>
<action application="bridge" data="user/$1@${domain}"/>
<action application="hangup"/>
</condition>
</extension>
<extension name="Talking Clock Date and Time" ><!--e.g. March 8, 2011 10:56pm-->
<condition field="destination_number" expression="^(199)">
<action application="say" data="en CURRENT_DATE_TIME pronounced ${strepoch()}"/>
<action application="hangup"/>
</condition>
</extension>
</include>
В "Директории" для пользователей изменил контекст на internal, например:
Код:
<include>
<user id="100">
<params>
<param name="password" value="xxxxxxxxxx"/>
</params>
<variables>
<variable name="user_context" value="internal"/>
<variable name="effective_caller_id_name" value="Test100"/>
</variables>
</user>
</include>
Для "Софьи" указан другой контекст, в нем строки <action application="bridge" data="user/$1@${domain}"/> нет !!
Так, как он планируется как тот, на который будет "приходить" все, что раньше "не ушло" куда-то.
Поэтому, там, максимум планируется что-то вроде
Код:
<action application="playback" data="sounds/что_то_очень_не_приличное.wav"/> -->
<action application="hangup"/>
При звонке с тестового пользователя на 199, все нормально, другим пользователям (локальным) , включая самого себя, звонок не проходит.
Судя по всему не отрабатывается bridge. Ошибка 480.
Код:
SIP/2.0 480 Temporarily Unavailable
Via: SIP/2.0/UDP 192.168.0.70:61524;branch=z9hG4bK-d8754z-e61b5e26d027995c-1---d8754z-;rport=61524
Max-Forwards: 70
From: "102"<sip:102@192.168.0.254:5060>;tag=d51db06c
To: <sip:100@192.168.0.254:5060>;tag=QUD3e21X4tjtp
Call-ID: YmVmOTYzM2U3ODE4NzUxZmFkYzdkYTcwZThhMzUxZmQ.
CSeq: 1 INVITE
User-Agent: May be Super PBX
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, PRACK, NOTIFY, PUBLISH, SUBSCRIBE
Supported: precondition, 100rel, path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
Reason: Q.850;cause=16;text="NORMAL_CLEARING"
Content-Length: 0
Remote-Party-ID: "100" <sip:100@192.168.0.254>;party=calling;privacy=off;screen=no
Что понял не так ?