
Denis
27.01.2017
09:48:48
Ух как. Жалко. Я натыкался, на обсуждение с автором, варианта участвовать в конфе через прием входящего. Но у меня и это не получается.
А skypopen это на сегодня единственный способ увязывать скайп с фрей?

Denis 災 nobody
27.01.2017
09:49:28
был платный метод

Andrey
28.01.2017
14:06:11
skype connect

Google

? Stan
28.01.2017
14:06:54
а скайпконнект разве не взорвали?

Denis
28.01.2017
14:12:46
Он работает, стоит сколько-то немного денег, но нельзя одновременно пользоваться скайпом и скайпконнектом на одном username. Т.е. чисто как гейт в скайп - ага, а сделать так, чтобы скайповые звонки сваливались еще и на фс - никак.
А skypopen не работает с группами, потому что skype for linux не работает с группами. Для 1-к-1 звонков окей.


made
29.01.2017
09:07:12
Всем привет! Только начинаю знакомство с FS, посоветуйте по структуре (возможно ли такое вообще).
Есть несколько роутеров с FS на борту и mod_portaudio, зацепленным на usb звуковушку.
звуковуха---mod_portaudio---FS
Хочется позвонить с одного на другой.
Хочется звонить без регистрации на внешнем сервере и вообще без него. Вроде как p2p.
Если звоню со стороннего софтфона (linphone) - все ОК.
Проблемы начинаются, когда звонок с одной железки на другую.
switch_core_media.c:4378 Audio Codec Compare [L16:102:48000:20:0:1]/[G722:9:8000:20:64000:1]
switch_core_media.c:4378 Audio Codec Compare [L16:102:48000:20:0:1]/[PCMU:0:8000:20:64000:1]
switch_core_media.c:4378 Audio Codec Compare [L16:102:48000:20:0:1]/[PCMA:8:8000:20:64000:1]
switch_core_media.c:4294 Set telephone-event payload to 101@48000
switch_core_media.c:4696 sofia/internal/auto_answer@192.168.0.120 Set 2833 dtmf send payload to 101 recv payload to 101
switch_channel.c:3811 Hangup sofia/internal/auto_answer@192.168.0.120 [CS_EXECUTE] [INCOMPATIBLE_DESTINATION]
Железки идентичные.


Denis
29.01.2017
09:09:45
Вот кстати да, мне такое тоже было непонятно. Тут вроде как они не смогли договориться о кодеках, но почему в этом случае FS отдает INCOMPATIBLE_DESTINATION вместо того, чтобы заняться транскодингом?

made
29.01.2017
09:13:46
Да и транскодинг не необходим. кодеки, как и в целом корневуха и железо идентичны. Перекодировать не необходимо.
Читал где-то, что это из-за отсутствия некоего хэндшейка, происходящего при регистрации.
Вроде как FS не вкурсе, у кого чего есть и отказывается согласовывать в принципе.
Странно, что при звонке с компа, где все как раз другое - все нормально.

Alexandru
29.01.2017
09:23:55
SDP в студию
incompatible destination не только из-за кодеков

Denis 災 nobody
29.01.2017
09:24:41
Регистрация для звонка не обязательна

Alexandru
29.01.2017
09:26:56
а зачем собственно нужен mod_portaudio?

made
29.01.2017
09:28:17

Alexandru
29.01.2017
09:29:03
мне кажется что проблема кроется в нем
в общем давайте больше логов

Google

Alexandru
29.01.2017
09:29:52
дебаг лог + сип лог + pa dump

made
29.01.2017
09:39:56

Denis 災 nobody
29.01.2017
09:43:37
Еще стоит проверить кодек-стринги из конфигов и inerhit-codec

made
29.01.2017
09:44:07
Еще стоит проверить кодек-стринги из конфигов и inerhit-codec
с inherit_codec=true аналогично
mod_dptools.c:1527 SET sofia/internal/auto_answer@192.168.0.120 [inherit_codec]=[true]
EXECUTE sofia/internal/auto_answer@192.168.0.120 answer()
switch_core_media.c:4378 Audio Codec Compare [L16:102:48000:20:0:1]/[G722:9:8000:20:64000:1]
switch_core_media.c:4378 Audio Codec Compare [L16:102:48000:20:0:1]/[PCMU:0:8000:20:64000:1]
switch_core_media.c:4378 Audio Codec Compare [L16:102:48000:20:0:1]/[PCMA:8:8000:20:64000:1]
switch_core_media.c:4294 Set telephone-event payload to 101@48000
switch_core_media.c:4696 sofia/internal/auto_answer@192.168.0.120 Set 2833 dtmf send payload to 101 recv payload to 101
switch_channel.c:3811 Hangup sofia/internal/auto_answer@192.168.0.120 [CS_EXECUTE] [INCOMPATIBLE_DESTINATION]

Alexandru
29.01.2017
10:06:11
в параметрах бриджа пропишите {absolute_codec_string='PCMA,PCMU,G722'}

made
29.01.2017
10:07:33
absolute_codec_string=PCMA только что прописал при оригинате и все, кажется пошло. спасибо!

Alexandru
29.01.2017
10:08:14
да не за что собственно

ros
29.01.2017
11:19:32
добавьте предпочтительные кодеки в bridge
{absolute_codec_string=PCMA}sofia...

made
29.01.2017
11:26:57

Denis
29.01.2017
11:49:50
А можно как-то сделать так, чтобы FS в таких случаях соглашался с обеими ногами и просто транскодил внутри себя ?
А еще непонятно. Вот можно через fs_cli или esl сказать originate или bridge, но в обоих случаях нужно указывать полноценный uri, типа sofia/profile/gateway/dialled_number. А есть ли возможность дать команду позвонить на какой-то номер так, чтобы был дан просто номер, а звонок прошел бы через все условия dialplanа и тот же gateway был выбран согласно этим условиям?

Alexandru
29.01.2017
12:01:04
sofia/dialed_number@freeswitch_ip &park()

? Stan
29.01.2017
12:07:29
если на каждой ноге есть совпадающий с пиром кодек, но на ногах они не пересекаются, то произойдет транскодирование

Denis
29.01.2017
12:11:31
sofia/dialed_number@freeswitch_ip &park()
Invalid URL, без указания профиля не работает. С профилем звонит, но по dialplanу не пробегается. Т.е. если я звоню на юзера - ок, звонок пройдет. Если там нужна какая-то обработка, ее нету.

Alexandru
29.01.2017
12:11:54
sofia/external/...
должен пробегать

Google

Denis
29.01.2017
12:15:23
Ну вот я ж и говорю, с указанием профиля, типа sofia/external звонок проходит. Звоню на sofia/external/1001@<server-ip> - все ок, звонок пришел ибо юзер такой есть, а если звоню на sofia/external/81001@<server-ip> (intercom из ванильного конфига) - облом, ибо UNKNOWN, нет такого юзера.
c internal тоже самое
Задача вобщем-то тривиальная. Хочу команду, которой я смогу набрать внутреннего пользователя в интерком (чтоб трубка сразу снялась) и дальше забриджить его на другой номер, при чем чтобы этот другой номер обработался по правилам, как если бы этот юзер его набрал с телефона.

Alexandru
29.01.2017
12:17:49
https://freeswitch.org/confluence/display/FREESWITCH/Loopback+Endpoint

Denis
29.01.2017
12:19:13

Alexandru
29.01.2017
12:19:13
nmae
тьфу
external
а вам надо попадать в internal
совпадающие - эти те что указаны для канала, могут быть как global так и те что вы ручками задаете

Denis
29.01.2017
12:24:24
Ага, с кодеками кажется понял, спасибо ) С loopback пойду разбираться.

Alexandru
29.01.2017
12:25:35
вообще, такие вещи лучше делать на скриптах

? Stan
29.01.2017
13:00:45

Denis
29.01.2017
13:02:50


? Stan
29.01.2017
13:08:08
коллеги, хочу сделать ограничение на кол-во вызовов с одного cli в течении минуты. Как ниже описано не получается. Кто-нибудь знает, можно ли решить задачу без написания скриптов и патча mod_lcr?
В mod_lcr можно использовать параметры для mod_limit. Звоним на 84957757757 с cli 74951234567
...
2017-01-29 12:53:10.860562 [DEBUG] mod_lcr.c:998 SQL: CALL gsm_lcrTerminate('84957757757', '74951234567');
...
2017-01-29 12:53:10.860562 [DEBUG] switch_limit.c:126 incr called: termination_74951234567 max:1, interval:0
2017-01-29 12:53:10.860562 [DEBUG] mod_hash.c:196 Usage for termination_74951234567 is now 1/1
То есть оно ограничение всасывает на количество занятых каналов, а не единицу времени (отбрасывая "/60" в колонке lcr_limit_max). Колонку lcr_limit_interval в процедуре я сам придумал.
Вот что выдает процедура.
mysql> CALL lcr('84957757757', '74951234567');
+-------------+------------------+----------------+------------------------+----------------------+----------------+-----------------+------------+------------+---------+---------+-----------------+--------------+---------------+--------------------+
| lcr_digits | lcr_carrier_name | lcr_rate_field | lcr_gw_prefix | lcr_gw_suffix | lcr_lead_strip | lcr_trail_strip | lcr_prefix | lcr_suffix | lcr_cid | quality | lcr_limit_realm | lcr_limit_id | lcr_limit_max | lcr_limit_interval |
+-------------+------------------+----------------+------------------------+----------------------+----------------+-----------------+------------+------------+---------+---------+-----------------+--------------+---------------+--------------------+
| 84957757757 | gsm | 0 | sofia/lan_originate/11 | @192.168.90.201:5060 | 0 | 0 | | | | 50 | termination | 74951234567 | 1/60 | 60 |
+-------------+------------------+----------------+------------------------+----------------------+----------------+-----------------+------------+------------+---------+---------+-----------------+--------------+---------------+--------------------+


Denis
29.01.2017
19:10:41
вообще, такие вещи лучше делать на скриптах
Удивительное рядом. Как всегда все сильно проще, чем думалось. originate {sip_auto_answer=true}user/1001 74957851188 Звонит пользователю и соединяет его с указанным номером, обрабатывая соединение через диалплан от имени пользователя. Искаропки ))))

Alexandru
29.01.2017
19:23:06
Хм, не знал, спасибо!
Весьма полезная штука

Google

Konstantin
30.01.2017
05:29:02
О, надо схоронить. Я тоже интересовался подобным
Тут в телеге нельзя пиннить сообщения?

Denis
30.01.2017
07:30:13
Можно создать новый приватный канал и в него форвардить интересное.

Denis 災 nobody
30.01.2017
07:32:55
Лучше на себя

Denis
30.01.2017
07:33:15
О, не знал!

Denis 災 nobody
30.01.2017
07:33:26

Konstantin
30.01.2017
07:33:34

Denis 災 nobody
30.01.2017
07:34:17

Denis
30.01.2017
07:36:24
Ну да. Ее можно через loopback стартануть, но я там не смог его уговорить прочитать откуда-нибудь codec string. Оно упорно предлагает только L16 без вариантов и ни с кем не хочет дружить, все заканчивается в INCOMPATIBLE_DESTINATION

Denis 災 nobody
30.01.2017
07:37:20
Лупбэк это гора костылей ) как минимум, все нужные переменные надо явно передавать
В том числе кодеки

Denis
30.01.2017
07:38:46
Я делал originate {absolute_codec_string=PCMU}loopback/и_далее_по_тексту и оно тем не менее сопротивлялось
Но конкретно моя задача решалась и прямым бриджем на юзера )

Denis 災 nobody
30.01.2017
07:40:17
Нухз, у нас ориджинейт вполне работает

Denis
30.01.2017
07:42:34

made
30.01.2017
07:45:11
Создать.

Denis 災 nobody
30.01.2017
07:45:54
Нет

Google

Denis 災 nobody
30.01.2017
07:46:42
Вот этому

Denis
30.01.2017
07:46:59
Ааа... я подумал, что _новостной_ - это какая-то иная сущность )

Denis 災 nobody
30.01.2017
07:47:10
Но лучше себе, это пережиток времени, когда себе нельзя было

Dmitriy
30.01.2017
11:47:41
добрый день. имеется фс сервер и на нем же зарегистрирован сип номера. и приходят жалобы что каждый восьмой звонок поступает с эхо и с шумом. Не подскажите что проверить. снял дамп. прерываний нет.кодеки все совпадают с провайдерскими. сервер виртуальный но ресурсы вполне достаточные для фс сервера.

Alexey
30.01.2017
12:53:36

Dmitriy
30.01.2017
12:55:52
версия фс 1.7. отвечают по webrtc. виртуализауия vmware 6.0. Сип регистрируется напрямую от провайдера на фс.
по дампам видно что есть прерывании в сети. но когда через вршарк слушать записи то не заметно прерываний. а поймать момент имено жалобы от оператора не получается.

Alexandru
30.01.2017
13:00:18
jitter подстраивается

Alexey
30.01.2017
13:00:44
половина вопрос не ответилась, тяжело говорить что-то конкретное: запустите на сервере screen/tmux (можно и без них, если так удобнее), один с ping провайдера, второй с vmstat -w -S M 1
вангую проблемы виртуализации

Dmitriy
30.01.2017
13:02:41
спасибо за помощь

Igor
30.01.2017
13:02:43
а по виртуализации ща скину статейку, если ESXi 6ой, то если совсем не поможет, то по крайней мере облегчит жизнь

Dmitriy
30.01.2017
13:06:06

Igor
30.01.2017
13:07:59
http://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/latency-sensitive-perf-vsphere55-white-paper.pdf
это для 5.5, но в 6.0 та же самая ситуация

Dmitriy
30.01.2017
13:09:54
По дефолту FS работает в режиме согласования кодеков. Для того, чтобы производился транскодинг, нужно выполнить:
В internal.xml:
<!— Let calls hit the dialplan before selecting codec for the a-leg —>
<param name=»inbound-late-negotiation» value=»false»/>
<!— Allow ZRTP clients to negotiate end-to-end security associations (also enables late negotiation) —>
<param name=»inbound-zrtp-passthru» value=»false»/>
В диалплане:
<action application=»bridge» data=»{absolute_codec_string=’PCMU,PCMA,G729′}sofia/gateway/gateway1/$1″ />
у меня сейчас стоит согласование кодеков.вернее те кодеки которые предлогает провайдер.
не подскажите если в интернеле я поставлю это параметр он как то поможет мне при входяших звонках?при исходяших такой жалобы не было