@ru_freeswitch

Страница 300 из 430
Виталий
20.05.2018
09:16:34
столкнулся с проблемой - хочу попросить у сообщества помощи

проблема: пользователь регистрируется нормально, но при исходящем вызове он идет в контексте public

настройки пользователя что отдаются <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="freeswitch/xml"> <section name="directory"> <domain name="u001.sip.autapp.com"> <params> <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/> </params> <groups> <group name="default"> <users> <user id="1000"> <params> <param name="password" value="1234"/> <param name="vm-password" value="1234"/> </params> <variables> <param name="accountcode" value="1000"/> <param name="user_context" value="u001.sip.autapp.com"/> <param name="effective_caller_id_name" value="Extension 1000"/> <param name="effective_caller_id_number" value="1000"/> </variables> </user> </users> </group> </groups> </domain> </section> </document>

настройки acl.conf

Google
Виталий
20.05.2018
09:19:04
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="freeswitch/xml"> <section name="configuration"> <configuration name="acl.conf" description="Network Lists"> <network-lists> <lan default="allow"> <node type="deny" cidr="192.168.42.0/24"/> <node type="allow" cidr="192.168.42.42/32"/> </lan> <domains default="deny"> <node type="allow" domain="u004.sip.autapp.com"/> <node type="allow" domain="u003.sip.autapp.com"/> <node type="allow" domain="u002.sip.autapp.com"/> <node type="allow" domain="u001.sip.autapp.com"/> </domains> </network-lists> </configuration> </section> </document>

лог консоли при звонке 2018-05-20 12:19:40.316745 [DEBUG] switch_core_state_machine.c:584 (sofia/internal/1000@u001.sip.autapp.com) Running State Change CS_NEW (Cur 1 Tot 519) 2018-05-20 12:19:40.316745 [DEBUG] sofia.c:9873 sofia/internal/1000@u001.sip.autapp.com receiving invite from 92.243.182.101:29425 version: 1.6.20 64bit 2018-05-20 12:19:40.316745 [DEBUG] sofia.c:10044 IP 92.243.182.101 Rejected by acl "domains". Falling back to Digest auth. 2018-05-20 12:19:40.316745 [WARNING] sofia_reg.c:1792 SIP auth challenge (INVITE) on sofia profile 'internal' for [5000@u001.sip.autapp.com] from ip 92.243.182.101 2018-05-20 12:19:40.316745 [DEBUG] switch_core_state_machine.c:603 (sofia/internal/1000@u001.sip.autapp.com) State NEW 2018-05-20 12:19:40.316745 [DEBUG] sofia.c:2334 detaching session cce8fd66-a2ef-48be-8ed0-88367d3a7d7b 2018-05-20 12:19:40.356786 [DEBUG] sofia.c:2442 Re-attaching to session cce8fd66-a2ef-48be-8ed0-88367d3a7d7b 2018-05-20 12:19:40.376746 [DEBUG] sofia.c:9873 sofia/internal/1000@u001.sip.autapp.com receiving invite from 92.243.182.101:29425 version: 1.6.20 64bit 2018-05-20 12:19:40.376746 [DEBUG] sofia.c:10044 IP 92.243.182.101 Rejected by acl "domains". Falling back to Digest auth. 2018-05-20 12:19:40.556747 [CONSOLE] mod_xml_curl.c:323 XML response is in /tmp/d55f6352-09f9-43cd-95a4-a69f5d9228b2.tmp.xml 2018-05-20 12:19:40.556747 [DEBUG] sofia.c:11168 Setting NAT mode based on nat.auto 2018-05-20 12:19:40.556747 [DEBUG] sofia.c:7084 Channel sofia/internal/1000@u001.sip.autapp.com entering state [received][100] 2018-05-20 12:19:40.556747 [DEBUG] sofia.c:7094 Remote SDP: —cut— 2018-05-20 12:19:40.556747 [DEBUG] sofia.c:7486 (sofia/internal/1000@u001.sip.autapp.com) State Change CS_NEW -> CS_INIT 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:584 (sofia/internal/1000@u001.sip.autapp.com) Running State Change CS_INIT (Cur 1 Tot 519) 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:627 (sofia/internal/1000@u001.sip.autapp.com) State INIT 2018-05-20 12:19:40.556747 [DEBUG] mod_sofia.c:90 sofia/internal/1000@u001.sip.autapp.com SOFIA INIT 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:40 sofia/internal/1000@u001.sip.autapp.com Standard INIT 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:48 (sofia/internal/1000@u001.sip.autapp.com) State Change CS_INIT -> CS_ROUTING 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:627 (sofia/internal/1000@u001.sip.autapp.com) State INIT going to sleep 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:584 (sofia/internal/1000@u001.sip.autapp.com) Running State Change CS_ROUTING (Cur 1 Tot 519) 2018-05-20 12:19:40.556747 [DEBUG] switch_channel.c:2249 (sofia/internal/1000@u001.sip.autapp.com) Callstate Change DOWN -> RINGING 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:643 (sofia/internal/1000@u001.sip.autapp.com) State ROUTING 2018-05-20 12:19:40.556747 [DEBUG] mod_sofia.c:143 sofia/internal/1000@u001.sip.autapp.com SOFIA ROUTING 2018-05-20 12:19:40.556747 [DEBUG] switch_core_state_machine.c:236 sofia/internal/1000@u001.sip.autapp.com Standard ROUTING 2018-05-20 12:19:40.556747 [INFO] mod_dialplan_xml.c:637 Processing 1000 <1000>->5000 in context public

может быть кто тыкнет пальцем в мою ошибку (в ДНК?) ?

в благодарность обязуюсь отдавать код всем нуждающимся ) (рисую его на yii2 - переделать под свои нужды не составит труда)

Сергей
20.05.2018
09:28:20
Могу ошибаться, но если абон промачится в acl, то авторизации как таковой не будет и звонок пройдет по дефолтовому контексту, указанному в профайле

В каком параметре прописан acl domains в профайле?

Виталий
20.05.2018
09:29:31
мин

Сергей
20.05.2018
09:30:24
И что будет если исключить из работы acl domains?

Виталий
20.05.2018
09:34:04
если исключить - остается все так же

ложится в public

Alexey
20.05.2018
10:23:09
а контекст этот точно существует? вы его как отдаете, статикой или xml curl?

ros
20.05.2018
10:24:52
пользователь 1000 есть в других доменах? и конфиг internal покажите

Александр
20.05.2018
10:34:04
admin admin не подходит)

Google
Виталий
20.05.2018
11:03:28
софия.мод - через xml_curl

# cat /tmp/3a575c8a-66bf-45eb-a300-3fc167919779.tmp.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="freeswitch/xml"> <section name="configuration"> <configuration name="sofia.conf" description="sofia Endpoint"> <global_settings> <param name="log-level" description="0"/> <param name="debug-presence" description="0"/> </global_settings> <profiles> <profile name="external"> <gateways/> <aliases/> <domains> <domain name="all" alias="false" parse="true"/> </domains> <settings> <param name="debug" value="0"/> <param name="sip-trace" value="no"/> <param name="sip-capture" value="no"/> <param name="rfc2833-pt" value="101"/> <param name="sip-port" value="5080"/> <param name="dialplan" value="XML"/> <param name="context" value="public"/> <param name="dtmf-duration" value="2000"/> <param name="inbound-codec-prefs" value="OPUS,G722,PCMU,PCMA,VP8"/> <param name="outbound-codec-prefs" value="OPUS,G722,PCMU,PCMA,VP8"/> <param name="hold-music" value="local_stream://moh"/> <param name="rtp-timer-name" value="soft"/> <param name="local-network-acl" value="localnet.auto"/> <param name="manage-presence" value="false"/> <param name="inbound-codec-negotiation" value="generous"/> <param name="nonce-ttl" value="60"/> <param name="auth-calls" value="false"/> <param name="inbound-late-negotiation" value="true"/> <param name="inbound-zrtp-passthru" value="true"/> <param name="rtp-ip" value="46.61.140.20"/> <param name="sip-ip" value="46.61.140.20"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="rtp-timeout-sec" value="300"/> <param name="rtp-hold-timeout-sec" value="1800"/> <param name="tls" value="false"/> <param name="tls-only" value="false"/> <param name="tls-bind-params" value="transport=tls"/> <param name="tls-sip-port" value="5081"/> <param name="tls-passphrase" value=""/> <param name="tls-verify-date" value="true"/> <param name="tls-verify-policy" value="none"/> <param name="tls-verify-depth" value="2"/> <param name="tls-verify-in-subjects" value=""/> <param name="tls-version" value="tlsv1,tlsv1.1,tlsv1.2"/> </settings> </profile> <profile name="internal"> <gateways/> <aliases/> <domains> <domain name="u004.sip.autapp.com" alias="false" parse="false"/> <domain name="u003.sip.autapp.com" alias="false" parse="false"/> <domain name="u002.sip.autapp.com" alias="false" parse="false"/> <domain name="u001.sip.autapp.com" alias="false" parse="false"/> </domains> <settings> <param name="user-agent-string" value="CiscoAsteriskSrv"/> <param name="debug" value="0"/> <param name="sip-trace" value="no"/> <param name="sip-capture" value="no"/> <param name="watchdog-enabled" value="no"/> <param name="watchdog-step-timeout" value="30000"/> <param name="watchdog-event-timeout" value="30000"/> <param name="log-auth-failures" value="true"/> <param name="forward-unsolicited-mwi-notify" value="false"/> <param name="context" value="public"/> <param name="rfc2833-pt" value="101"/> <param name="sip-port" value="5060"/> <param name="dialplan" value="XML"/> <param name="dtmf-duration" value="2000"/> <param name="inbound-codec-prefs" value="OPUS,G722,PCMU,PCMA,VP8"/> <param name="outbound-codec-prefs" value="OPUS,G722,PCMU,PCMA,VP8"/>

<param name="rtp-timer-name" value="soft"/> <param name="rtp-ip" value="46.61.140.20"/> <param name="sip-ip" value="46.61.140.20"/> <param name="hold-music" value="local_stream://moh"/> <param name="apply-nat-acl" value="nat.auto"/> <param name="apply-inbound-acl" value="domains"/> <param name="local-network-acl" value="localnet.auto"/> <param name="record-path" value="/var/lib/freeswitch/recordings"/> <param name="record-template" value="${domain}.${caller_id_number}.${target_domain}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> <param name="manage-presence" value="true"/> <param name="presence-hosts" value="46.61.140.20,46.61.140.20"/> <param name="presence-privacy" value="false"/> <param name="inbound-codec-negotiation" value="generous"/> <param name="tls" value="false"/> <param name="tls-only" value="false"/> <param name="tls-bind-params" value="transport=tls"/> <param name="tls-sip-port" value="5061"/> <param name="tls-passphrase" value=""/> <param name="tls-verify-date" value="true"/> <param name="tls-verify-policy" value="none"/> <param name="tls-verify-depth" value="2"/> <param name="tls-verify-in-subjects" value=""/> <param name="tls-version" value="tlsv1,tlsv1.1,tlsv1.2"/> <param name="tls-ciphers" value="ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"/> <param name="inbound-late-negotiation" value="true"/> <param name="inbound-zrtp-passthru" value="true"/> <param name="nonce-ttl" value="60"/> <param name="auth-calls" value="true"/> <param name="inbound-reg-force-matching-username" value="true"/> <param name="auth-all-packets" value="false"/> <param name="ext-rtp-ip" value="auto-nat"/> <param name="ext-sip-ip" value="auto-nat"/> <param name="rtp-timeout-sec" value="300"/> <param name="rtp-hold-timeout-sec" value="1800"/> <param name="ws-binding" value=":5066"/> <param name="wss-binding" value=":7443"/> <param name="challenge-realm" value="auto_from"/> </settings> </profile> </profiles> </configuration> </section> </document>

диалплан - контекст статикой (еще не дошли руки)

<?xml version="1.0" encoding="utf-8"?> <include> <context name="u001.sip.autapp.com"> <extension name="unloop"> <condition field="${unroll_loops}" expression="^true$"/> <condition field="${sip_looped_call}" expression="^true$"> <action application="deflect" data="${destination_number}"/> </condition> </extension> <extension name="redial"> <condition field="destination_number" expression="^(redial|870)$"> <action application="transfer" data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/> </condition> </extension> <extension name="call_return"> <condition field="destination_number" expression="^\*69$|^869$|^lcr$"> <action application="transfer" data="${hash(select/${domain_name}-call_return/${caller_id_number})}"/> </condition> </extension> <!--cut--> <X-PRE-PROCESS cmd="include" data="default/*.xml"/> </context> </include>

если все это прописывать в файлах - работает. при переходе на xml_curl перестает уходить в нужный контекст

пользователь 1000 есть во всех 4 доменах )

ros
20.05.2018
11:12:21
включить дебаг xml_curl и посмотреть что оно получает от бекенда

если в статике все работает, значит что-то не то в ответе

Виталий
20.05.2018
11:14:36
дебаг и смотрю - вроде как все нормально получает (

выше я как раз и бросал то что он получает по запросу

все - кроме диалплана

Виталий
20.05.2018
11:25:51
нет к сожалению(

и в куда ковырять - мыслей нет )

Александр
20.05.2018
11:26:35
user_context это переменная а не параметр)

Виталий
20.05.2018
11:27:44
<user id="1000"> <params> <param name="password" value="1234"/> <param name="vm-password" value="1234"/> </params> <variables> <param name="accountcode" value="1000"/> <param name="user_context" value="u001.sip.autapp.com"/> <param name="effective_caller_id_name" value="Extension 1000"/> <param name="effective_caller_id_number" value="1000"/> </variables> </user>

Александр
20.05.2018
11:28:07
неправильно

Виталий
20.05.2018
11:28:50
блинааааа

реально тупая ошибка (

Google
Виталий
20.05.2018
11:29:06
копипастил и не заменил

$xmlw->startElement('variables'); foreach ($model->directoryUserVariables as $key => $variable) { $xmlw->startElement('variable'); $xmlw->writeAttribute('name', $variable->name); $xmlw->writeAttribute('value', $variable->value); $xmlw->endElement(); //variable } $xmlw->endElement(); //variables

СПАСИБО!!! - сейчас проверю )

# cat /tmp/e5f6b688-f55f-41df-888a-e164f0b55a98.tmp.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="freeswitch/xml"> <section name="directory"> <domain name="u001.sip.autapp.com"> <params> <param name="dial-string" value="{presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(${dialed_user}@${dialed_domain})}"/> </params> <groups> <group name="default"> <users> <user id="1000"> <params> <param name="password" value="181276q"/> <param name="vm-password" value="1234"/> </params> <variables> <variable name="accountcode" value="1000"/> <variable name="user_context" value="u001.sip.autapp.com"/> <variable name="effective_caller_id_name" value="Extension 1000"/> <variable name="effective_caller_id_number" value="1000"/> </variables> </user> </users> </group> </groups> </domain> </section> </document> и все стало отлично!!! 2018-05-20 14:34:37.516746 [INFO] mod_dialplan_xml.c:637 Processing 1000 <1000>->9195 in context u001.sip.autapp.com

ну теперь диалплан осталось допилить )

енот
20.05.2018
11:42:30
поздравляю!

Archmagister
20.05.2018
16:50:12
Всем привет. Есть задача по настройке аккаунтного входа для операторов колл-центра. АТС - фс плюс нашлепка fusion pbx. Если есть заинтересовавшиеся, то просьба в лс. Обсудим цену и задание подробнее.

Виталий
20.05.2018
16:50:59
ну хоть задание поподробнее немного )

ато вход и так есть для операторов во фьюжене

енот
20.05.2018
16:51:29
я всё мечтаю что люди будут начинать свои подобные речи со слов "у меня есть ТЗ, ознакомьтесь"

Виталий
20.05.2018
16:52:01
это бы резко снимало все вопросы и отсекало лишнюю болтовню!!!

енот
20.05.2018
16:52:10
да хрен с ними, с людьми. я мечтаю о ТЗ на работе.

Виталий
20.05.2018
16:52:25
мож тогда тебе к нам переманить)?

а что - ТЗ у нас есть... правда оно не далее чем на неделю )

енот
20.05.2018
16:58:00
AGILE??

Виталий
20.05.2018
16:58:29
не - не спинты ... просто выливки так организованы проектов

енот
20.05.2018
16:58:36
ну агил

не важно считаете ли вы его агилом))

а переманивать... вряд ли твои согласятся на мои требования по зп ;)

Виталий
20.05.2018
16:59:36
главное чтоб ты согласился на требования по знаниям )

Google
енот
20.05.2018
17:00:17
со знаниями всё плохо. ты же в курсе.

Виталий
20.05.2018
17:00:18
ато приходят "партизаны" и им дают тестовое задание где написано - как найти в массиве два наибольших числа... стоят и мычат )

енот
20.05.2018
17:00:36
какие-то у вас странные тестовые

всем же понятно - вывести на экран и пальцем ткнуть

Виталий
20.05.2018
17:00:50
так начинают то с минимума

енот
20.05.2018
17:01:09
не, ну если к вам настолько идиоты ходят, то да, отсеивать стоит.

Виталий
20.05.2018
17:01:09
надо автоматизировать - ато вдруг лапками не туда ткнешь )

кстати - покажи класс - раскажи алгоритм полный - как это себе мыслишь )

енот
20.05.2018
17:03:13
хм

я попробую щас в консоли накидать, мне так проще

Виталий
20.05.2018
17:05:26
да ты общую концепцию - не решение даже )

их не просят написать даже - просто проверяют умение думать без гугла )

просят расписать другое задание - школьное по стенке к потолку и обратно бегут 2 таракана один бежит с постоянной скоростью второй вверх бежит в 2 раза медленее вниз в 2 раза быстрее от скорости первого. кто преодолеет полное растояние быстрее)?

Anton
20.05.2018
17:08:44
и что говорят ? .)

даже интересно

Виталий
20.05.2018
17:08:55
говорят что прибегут одновременно

енот
20.05.2018
17:09:29
да ты общую концепцию - не решение даже )
z = 0; z2 =0; for (let i in arr) { if(arr[i] > z) z = arr[i] } for (let x in arr){ if((arr[x] > z2) && (arr[x] !== z)) z2 = arr[x]; } console.log(z, z2)

можно в одну итерацию, я уверен, но у меня первый час ночи

енот
20.05.2018
17:10:14
мммм..... знаешь в чем ошибка у тебя)?
нет, но уверен что сейчас узнаю

Google
енот
20.05.2018
17:10:30
знаю

Виталий
20.05.2018
17:10:31
ты даже не проверил содержит ли массив эти 2 элемента )

енот
20.05.2018
17:10:34
если будет два

да

а

вообще не было этого в условии

а ошибка у меня в том что если будут два идентичных максимальных, я не найду

вот где косяк

Виталий
20.05.2018
17:11:04
как небыло - тебя попросили найти - но граничных условий никто не задал

енот
20.05.2018
17:11:31
надо не выеживаться было и просто грохнуть найденный элемент из массива, вот. или запоминать индекс.

да, с индексом лучше было бы

S
20.05.2018
17:11:41
ато приходят "партизаны" и им дают тестовое задание где написано - как найти в массиве два наибольших числа... стоят и мычат )
это такой тест на сообразительность? ЗЫ или туплю, или "наибольшим" может быть только одно число... :-/

Виталий
20.05.2018
17:11:47
я - как ленивый админ сделал еще проще - почти в каждом языке есть функция сортировки массива - я отсортировал и взял первых 2 элемента )

енот
20.05.2018
17:11:54
епт

блин

блин!

Виталий
20.05.2018
17:12:26
епт
тоже самое сказал и продюсер что проводил собеседование и решил на мне откатать свои задачки )

Страница 300 из 430