LINUX.ORG.RU

41
Всего сообщений: 486

Ошибка в работе модуля PhP

Уважаемые форумчане, имеется сервер Asterisk + FreePBX 13, устанавливаю модуль для переадресации вызова, при применение настроек, выдает ошибку:

exit: 255 Unable to continue. SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’ in /var/www/html/admin/libraries/BMO/Database/PDOStatement.class.php on line 17 #0 /var/www/html/admin/libraries/BMO/Database/PDOStatement.class.php(17): PDOStatement->execute(NULL) #1 /var/www/html/admin/modules/findmefollow/Findmefollow.class.php(1145): FreePBX\Database\PDOStatement->execute() #2 /var/www/html/admin/modules/findmefollow/functions.inc.php(79): FreePBX\modules\Findmefollow->getAllFollowmes() #3 /var/www/html/admin/libraries/BMO/DialplanHooks.class.php(95): findmefollow_get_config(‘asterisk’) #4 /var/lib/asterisk/bin/retrieve_conf(864): FreePBX\DialplanHooks->processHooks(‘asterisk’, Array) #5 {main}

и не записывает конфиг. Могу заплатить за эту работу, кто поможет.

 , ,

Pakost25 ()

Asterisk не звонит только на один номер

Ребята привет! Asterisk (15.7.3) с FreePBX 15.0.16.73. Один из номеров (114) категорически не дозванивается на другой (174). При этом на все остальные номера звонит успешно. Не могу разобраться в чем дело. Вот, что выдает: https://pastebin.com/mjaDKD2s

Буду рад любой помощи!

 , ,

alvian ()

Asterisk: не переводит звонок с аудио на видео

всем привет,

у меня на сервере стоит Asterisk 15 версий, использую Linphone софтфон для тестов, также пробовал и другие, была та же проблема.

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

!!! но если я в софтфонах поставлю звонки автоматом через видео, тогда все работает и показывает видео.

Asterisk CLI пишет такую ошибку, при переводе с аудио на видео:

> 0x7fd34401b270 -- Strict RTP learning after remote address set to: CLIENT_IP_ADDRESS:7284
[DATE] WARNING[1192][C-00000009]: channel.c:5600 set_format: Unable to find a codec translation path: (h264|vp8) -> (g729)
[DATE] WARNING[1192][C-00000009]: channel.c:5600 set_format: Unable to find a codec translation path: (g729) -> (h264|vp8)
> Locally RTP bridged 'SIP/1001-00000007' and 'SIP/1002-00000008' in stack

кодеки у меню все установлены, пробовал также (GSM,H264) (G722,H264)…

может кто знает причину возникновения такой ошибки, буду признателен за помощь.

вот список транслитов:

          codec2  ulaw  alaw   gsm  g726 g726aal2 adpcm slin8 slin12 slin16 slin24 slin32 slin44 slin48 slin96 slin192 lpc10  g729 speex8 speex16 speex32  ilbc  g722 testlaw  opus
   codec2      - 15000 15000 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
     ulaw  15000     -  9150 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
     alaw  15000  9150     - 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
      gsm  15000 15000 15000     - 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
     g726  15000 15000 15000 15000     -    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
 g726aal2  15000 15000 15000 15000 15000        - 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
    adpcm  15000 15000 15000 15000 15000    15000     -  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250   15000 23000
    slin8   6000  6000  6000  6000  6000     6000  6000     -   8000   8000   8000   8000   8000   8000   8000    8000  6000  6000   6000   14000   14000  6000  8250    6000 14000
   slin12  14500 14500 14500 14500 14500    14500 14500  8500      -   8000   8000   8000   8000   8000   8000    8000 14500 14500  14500   14000   14000 14500 14000   14500 14000
   slin16  14500 14500 14500 14500 14500    14500 14500  8500   8500      -   8000   8000   8000   8000   8000    8000 14500 14500  14500    6000   14000 14500  6000   14500 14000
   slin24  14500 14500 14500 14500 14500    14500 14500  8500   8500   8500      -   8000   8000   8000   8000    8000 14500 14500  14500   14500   14000 14500 14500   14500 14000
   slin32  14500 14500 14500 14500 14500    14500 14500  8500   8500   8500   8500      -   8000   8000   8000    8000 14500 14500  14500   14500    6000 14500 14500   14500 14000
   slin44  14500 14500 14500 14500 14500    14500 14500  8500   8500   8500   8500   8500      -   8000   8000    8000 14500 14500  14500   14500   14500 14500 14500   14500 14000
   slin48  14500 14500 14500 14500 14500    14500 14500  8500   8500   8500   8500   8500   8500      -   8000    8000 14500 14500  14500   14500   14500 14500 14500   14500  6000
   slin96  14500 14500 14500 14500 14500    14500 14500  8500   8500   8500   8500   8500   8500   8500      -    8000 14500 14500  14500   14500   14500 14500 14500   14500 14500
  slin192  14500 14500 14500 14500 14500    14500 14500  8500   8500   8500   8500   8500   8500   8500   8500       - 14500 14500  14500   14500   14500 14500 14500   14500 14500
    lpc10  15000 15000 15000 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000     - 15000  15000   23000   23000 15000 17250   15000 23000
     g729  15000 15000 15000 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000     -  15000   23000   23000 15000 17250   15000 23000
   speex8  15000 15000 15000 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000      -   23000   23000 15000 17250   15000 23000
  speex16  23500 23500 23500 23500 23500    23500 23500 17500  17500   9000  17000  17000  17000  17000  17000   17000 23500 23500  23500       -   23000 23500 15000   23500 23000
  speex32  23500 23500 23500 23500 23500    23500 23500 17500  17500  17500  17500   9000  17000  17000  17000   17000 23500 23500  23500   23500       - 23500 23500   23500 23000
     ilbc  15000 15000 15000 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000     - 17250   15000 23000
     g722  15600 15600 15600 15600 15600    15600 15600  9600  17500   9000  17000  17000  17000  17000  17000   17000 15600 15600  15600   15000   23000 15600     -   15600 23000
  testlaw  15000 15000 15000 15000 15000    15000 15000  9000  17000  17000  17000  17000  17000  17000  17000   17000 15000 15000  15000   23000   23000 15000 17250       - 23000
     opus  23500 23500 23500 23500 23500    23500 23500 17500  17500  17500  17500  17500  17500   9000  17000   17000 23500 23500  23500   23500   23500 23500 23500   23500     -

 , , ,

cardinaltm ()

Определить, что держит порт

Добрый день!

Имеется система:

root@server:~# uname -a
Linux server 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux

В ней стоит докер 19.03.2, в контейнере развёрнут asterisk 16.1. У астериска включен ARI, на 8088 порту, контейнер в host режиме. Проблема в том, что ari не может зацепить порт, так как он уже занят.

netstat не показывает, кем занят этот порт, но есть inode, связанный с портом:

root@server:~# netstat -tnlpe
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
<...> 
tcp       11      0 0.0.0.0:8088            0.0.0.0:*               LISTEN      0          117245518  -                   
<...>

А lsof | grep 117245518 ничего не возвращает.

Как быть и как определить, что именно держит порт? Ни систему, ни docker юнит перезагружать нельзя. Рядом есть ещё один сервер с точно такой же конфигурацией (боевой), на котором всё работает как надо и порт держит астер.

 , ,

Antilles ()

Черный экран при запуске Linux asterisk 2.6.32-5-686

Добрый день!

Новичок в этом(( имеется Linux asterisk 2.6.32-5-686

При REBOOT думал и выдал ошибку «-bash: /sbin/reboot: Ошибка ввода/вывода» Далее выполнили «Жесткую» перезагрузку железа…. После чего при загрузке черный экран с мигающим курсором

Подскажите, как быть, что делать?

 , ,

karapuz13 ()

не срабатывают правила iptables

Не пойму в чем дело, до астера проходят и инвайты и запросы на регистрацию

iptables -L -n -v –line-numbers

( читать дальше... )

 , ,

lexx633 ()

Asterisk, sip realtime, поля в базе данных.

Всем привет!

Около полугода перевел Asterisk в части sip (users.conf) на Realtime. Теперь, когда всех в организации перевели на дистанционку, всплыла следующая проблема... Т.к. в офисе многих сотрудников нет, их телефоны выключены. И вот мне нужно завести новую sip-учетку, я добавляю ее в таблицу, аппарат хватает ее провижнингом, регистрируется, в консоли Asterisk я вижу что он зарегистрирован. Но при звонке с нового аппарата в консоли появляется сообщение, что, мол, адрес этого новодобавленного аппарата (333) занят другим аппаратом (444), и позвонить становится невозможно. В аренде DHCP я вижу, что у аппарата-444 вообще нет ip, или есть но совсем другой, не такой как у аппарата 333. Эту проблему можно решить удалив значения в столбцах ipaddr и fullcontact для аппарата 444 из таблицы с sip учетками. Т.к. именно в этих ячейках почему-то остается значение ip-адреса, который когда-то использовался, но в настоящий момент этот ip арендован аппаратом 333. Столбцы в таблице с учетками sip у меня идут в следующем порядке:

+-------------------+
| Field             | 
+-------------------+
| id                | 
| accountcode       | 
| disallow          | 
| allow             | 
| allowoverlap      | 
| allowsubscribe    | 
| allowtransfer     | 
| amaflags          | 
| autoframing       | 
| auth              | 
| buggymwi          | 
| callgroup         | 
| callerid          | 
| cid_number        | 
| fullname          | 
| call-limit        | 
| callingpres       | 
| canreinvite       | 
| context           |
| callbackextension | 
| defaultip         | 
| dtmfmode          | 
| fromuser          | 
| fromdomain        | 
| fullcontact       | 
| g726nonstandard   | 
| host              | 
| insecure          | 
| ipaddr            | 
| language          | 
| lastms            |
| mailbox           | 
| maxcallbitrate    | 
| mohsuggest        | 
| md5secret         | 
| musiconhold       | 
| name              | 
| nat               | 
| outboundproxy     | 
| deny              | 
| permit            | 
| pickupgroup       | 
| port              | 
| progressinband    | 
| promiscredir      | 
| qualify           | 
| regexten          | 
| regseconds        | 
| rfc2833compensate | 
| rtptimeout        | 
| rtpholdtimeout    | 
| secret            | 
| sendrpid          | 
| setvar            | 
| subscribecontext  | 
| subscribemwi      | 
| t38pt_udptl       | 
| trustrpid         | 
| type              | 
| useclientcode     | 
| username          | 
| usereqphone       | 
| videosupport      | 
| vmexten           | 
| macaddress        | 
| rus_name          | 
| profile           | 
| changes           | 
| transport         | 
+-------------------+

Кто в курсе, возможно ли перманентно апдейтить значения полей ipaddr и fullcontact? И вообще каков best practice при том, что в инфрастуктуре для телефонов используется DHCP-сервер?

 , ,

borschov ()

Посоветуйте аналог Jitsi с работой на мобильных браузерах

В общем-то функционал Jitsi устраивает более чем, но когда люди заходят по ссылке с мобилки, то Jitsi требует скачать аппу. Есть аналоги с видеосвязью прямо из мобильного браузера без регистрации, как в jitsi?

 , , , ,

intel ()

Сделать из обычного звонка конференц-звонок на 3 человека из командной строки

Привет, лор. Вот есть обычный звонок, который идет сейчас в астериске, и я хочу сделать из него конференц звонок на 3 человека из скрипта (из командной строки или через AMI или еще как-то). Нашел как сделать blind transfer

channel redirect <имя канала> from-internal,<тел. номер>,1
но оно отключает одного человека, и добавляет второго в звонок, а мне нужно именно на 3 человека. Гуглятся диалпланы для конференц-звонка, но мне нужно все сделать внешним скриптом, а не нажимая кнопки на телефоне.

 , ,

goingUp ()

Asterisk vs openvpn

Подскажите плз по астериску (я мало с ним сталкивался, что-то не могу понять)

Есть asterisk с IP в локалке (192.168.0.0/24), есть pptp-сервер (выдающий IP из этой же локалки). Голос замечательно работает во всех направлениях (но софтофоны неудобны).

Возникла теперь хотелка подключить телефоны, но голой попой asterisk выставлять не хочется.

Поднял в локалке виртуалку с openvpn-сервером (сеть 10.8.0.0/24), выкинул его порт через роутер, соединение устанавливается, телефон на астериске регистрируется, но UNREACHABLE и, соответственно, звонки на него не проходят, а при исходящем звонке - тишина. Ткните плз в сторону документации, что надо делать на openvpn-сервере, чтобы ходили звонки? Я правильно понял, что надо и nf_conntrack_sip/nf_nat_sip загружать и пробрасывать 5060/udp и 10000:20000/udp со стороны «внешнего» IP? Но телефон то на asterisk видится как 10.8.0.2:5060

 , ,

Deleted ()

Помогите прокинуть порты. Регистрация есть, голосов нет.

Есть Роутер там настроен DMZ на комп-шлюз. 192.168.0.5 На Шлюзе есть ещё 2 сетевые карты. Одна в подсеть 192.168.4.0. А другая в сеть с серверами и астериском. адрес у неё 192.168.2.25 Астериск имеет адрес 192.168.2.70.

Я прокидываю порты:

Подключить модули:

/sbin/modprobe nf_conntrack_sip
/sbin/modprobe nf_nat_sip
/sbin/modprobe nf_conntrack_h323

# Разрешить пересылку пакетов
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp --dport 5060 -j ACCEPT
iptables -A FORWARD -p udp --dport 4569 -j ACCEPT
iptables -A FORWARD -p udp --dport 10000:20000 -j ACCEPT

# Пробросить SIP порт до сервера
iptables -t nat -A PREROUTING -p udp -d 192.168.0.5 --dport 3101 -j DNAT --to-destination 192.168.2.70:5060
iptables -t nat -A PREROUTING -p udp -d 192.168.0.5 --dport 10000:20000 -j DNAT --to-destination 192.168.2.70
iptables -t nat -A PREROUTING  -d 192.168.0.5 -p udp -m multiport --dports 10000:20000 -j DNAT --to-destination 192.168.2.70
iptables -t nat -A PREROUTING -p udp -d 192.168.0.5 --dport 2004 -j DNAT --to-destination 192.168.2.70:4569

# Разрешить NAT для диапазона "голосовых" портов
iptables -t nat -A POSTROUTING -s 192.168.2.70 -p udp -m multiport --dports 10000:20000 -j SNAT --to 192.168.0.5
iptables -t nat -A POSTROUTING -s 37.151.0.0/16 -p udp -m multiport --dports 10000:20000 -j SNAT --to 192.168.0.5

Использую softphone для звонков. Внутри сети проблем нет. В итоге регистрация есть. а вот голоса нет, причем в двух направлениях.

 , , , ,

alexion1ce ()

FreePBX + A2BILLING

Всем привет форумчанеее !!!))))

Может кто-то сталкивался с такой штукой как A2BILLING ?

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

 , ,

Sharc ()

Перенаправление входящих звонков на 2 внешнего номера

Добрый день. Есть входящий транк от провайдера:

[2059393]
host=sip.comnet.uz
insecure=invite,port
type=friend
fromdomain=sip.comnet.uz
disallow=all
allow=alaw
allow=ulaw
dtmfmode=auto
secret=********
defaultuser=2059393
trunkname=2059393
fromuser=2059393
callbackextension=2059393
context=2059393
qualify=400
directmedia=no
nat=no

4 внутренних номера:

[301] ..304
type=friend
host=dynamic
secret=301
context=test
Callerid=301
port=5060
username=301
canreinvite=no
permit=0.0.0.0/0.0.0.0
qualify=yes
disallow=all
allow=alaw
allow=ulaw

и маршруты:

[out]
exten => _3XX,1,NoOp(------------------- CallerID:${CALLERID(number)} -------------------)
 same => n,Dial(SIP/${EXTEN})
 same => n,Hangup()
exten => _XXX.,1,NoOp(------------------- CallerID:${CALLERID(number)} -------------------)
 same => n,Set(CALLERID(all)=712059393)
 same => n,Dial(SIP/2059393/${EXTEN})
 same => n,Hangup()

и

[2059393]
exten => _zx.,1,NoOp(------------------- CallerID:${CALLERID(number)} -------------------)
 same => n,Goto(ivr-main,s,1)
 same => n,Hangup()

[ivr-main]
exten => s,1,Answer()
exten => s,2,Background(/etc/asterisk/ivr/ivr-main)
exten => s,3,WaitExten(3)
exten => _XXX,1,Dial(SIP/${EXTEN})
exten => _XXX,2,Playback(privacy-incorrect)
exten => _XXX,3,Goto(ivr-main,s,1)
exten => t,1,FollowMe(ref,t)

2 внешних номера.

Пытался сделать с помощью FollowMe:

[ref]
context=>out
number => 909655167,15
number => 909498269,20

Звонит на первый номер и не переходит на второй. У провайдера на транке 2 канала. Что может быть не так?

 , ,

akaoff ()

asterisk время вызова

Доброго времени суток.

asterisk 13, чистый, собраный из сорцов. Куда/как добавлять время вызова/неотвеченных входящих?

в «букваре» об этом ни слова.

Спасибо.

 

dzenman ()

Asterisk смена порта bindport

Centos 8
в sip.conf, в [general] ставлю bindport=13131, он принимается в sip конфиге, но по нему не получается подключиться.
Если вписать 5060, то по нему будет работать.
iptables:

Chain INPUT (policy DROP)
target prot opt source               destination
ACCEPT all  --  anywhere  anywhere
ACCEPT all  --  anywhere  anywhere   state RELATED,ESTABLISHED
ACCEPT tcp  --  192.168.0.0/24         anywhere tcp dpt:ssh
ACCEPT tcp  --  anywhere  anywhere tcp dpt:http
ACCEPT udp  --  anywhere  anywhere udp dpt:sip
ACCEPT udp  --  anywhere  anywhere udp dpt:13131
ACCEPT udp  --  anywhere  anywhere udp dpt:sips
ACCEPT udp  --  anywhere  anywhere udp dpts:ndmp:dnp
ACCEPT udp  --  anywhere  anywhere udp dpt:iax
ACCEPT tcp  --  anywhere  anywhere tcp dpt:5038
ACCEPT tcp  --  anywhere  anywhere tcp dpt:sip
ACCEPT tcp  --  anywhere  anywhere tcp dpt:13131
ACCEPT tcp  --  anywhere  anywhere tcp dpt:sips
ACCEPT udp  --  anywhere  anywhere udp dpt:sip
ACCEPT udp  --  anywhere  anywhere udp dpt:13131
ACCEPT udp  --  anywhere  anywhere udp dpts:ndmp:dnp
ACCEPT udp  --  anywhere  anywhere udp dpt:iax
ACCEPT tcp  --  anywhere  anywhere tcp dpt:5038
ACCEPT icmp --  anywhere  anywhere

 ,

chart41 ()

Добавить переадресованные исходящие звонки в очередь

Привет, ЛОР!

Есть древний Asterisk 1.8.23.1 на Debian 6. В диалплане прописан макрос, если ни один из SIP-телефонов не ответил, переадресовать звонок на мобильники.

/etc/asterisk/extensions.ael

...
macro reserve-mobile()   {
    Dial(SIP/${mobile_1}@Provider_outgoing,15,RtT);
    Dial(SIP/${mobile_2}@Provider_outgoing,15,RtT);
    Dial(SIP/${mobile_3}@Provider_outgoing,15,RtT);
    Hangup();
};
...

Сейчас это работает так, звонки на мобильные уходят в том порядке, в котором эти мобильные прописаны. По всем правилам очередей - первый оператор задолбан звонками, второй и третий простаивают, ибо им звонки попадут только если первый отклонит звонок или не возьмёт трубку, или если поступит два звонка одновременно.

Можно ли эти мобильные прописать в очереди в queues.conf чтобы звонки на мобильные подчинялись стратегии очереди?

Если можно, то какой синтаксис должен быть? Сейчас SIP-телефоны прописаны таким образом:

member => SIP/101,3

 

kma21 ()

Телефонный антиспам

Собственно, это уже где-то обсуждалось в толксах. Как я говорил, я запилил «антиспам» на основе астериска (chan_dongle & FXSO), который троллит звонящих рекламщиков и телемаркетойдов, тихо и мирно сидя на «резервном» номере и обещал мануал. Я его запилил

В тред призывается theNamelessOne.

 , ,

ncrmnt ()

безболезненный перенос FreePBX на чистый asterisk

доброго времени суток.

Собственно сабж. Возникла необходимость переноса с машины под FreePBX 13 на vps.nonaname. На vps есть пока 2 варианта - накатить новый FreePBX или чистый asterisk из сорцов аки слеза, но надо сделать перенос всего и вся (существующие экстеншены, транки и прочие пряники ).

Кто имеет опыт такого переноса? Сколько по времени займет перенос в случае с FreePBX на чистый asterisk? с FreePBX на FreePBX? Стоит-ли замарачиваться?

Спасибо.

 

dzenman ()

Астериск pjsip ограничить ip для телефона

Привет! хотел бы переделать asterisk с sip на pjsip но чет никак не найду, как разрешить регистрацию телефонов только с одной подсети, подскажите пожалуйста

если делаю

[acl]
type=acl
acl=permit_login_phones
deny=0.0.0.0/0.0.0.0
permit=192.168.2.0/24

[11]
type = endpoint
context = internal
disallow = all
allow = alaw
aors = 11
auth = auth_11
transport=system-udp
acl=permit_login_phones

то этот acl вообще действует на все sip пакеты, в том числе и от sip транка на провайдера

 ,

victorb ()

FreePBX отправка отчётов CDR на почту.

Уважаемые специалисты! Подскажите пожалуйста! Как можно организовать автоматическую отправку на почту данных отчёта «Asternic CDR Reports» и «CDR Reports» из FreePBX? С почтой понятно – можно занести отправку через планировщика Cron, но до этого отчёт нужно выгрузить. В этих отчётах есть ручная выгрузка – но это очень неудобно. Возможно стоит копать в MySQL?

Буду очень благодарен за ответ!

 , ,

gor7740 ()