LINUX.ORG.RU
решено ФорумAdmin

Asterisk+PJSIP вылетает

 ,


0

2

Собрал asterisk с pjsip, завел пару пользователей, пробую позвонить с одного другому и...asterisk вылетает(в логах ошибок не вижу, просто новый старт от перезапущенного астера), на телефонах зависший звонок.

pjsip.conf:

[general]
endpoint_identifier_order=ip,username

[acl]
type=acl
deny=0.0.0.0/0.0.0.0
permit=10.100.0.0/255.255.0.0

[udp]
type=transport
protocol=udp
bind=0.0.0.0
allow_reload=true

[100]
type=endpoint
context=main
disallow=all
allow=ulaw
transport=udp
auth=100
aors=100
trust_id_outbound=yes
callerid=Test 1 <100>

[100]
type=auth
auth_type=userpass
password=test321
username=100

[100]
type=aor
max_contacts=1

[200]
type=endpoint
context=main
disallow=all
allow=ulaw
transport=udp
auth=200
aors=200
trust_id_outbound=yes
callerid=Test 2 <200>

[200]
type=auth
auth_type=userpass
password=test321
username=200

[200]
type=aor
max_contacts=1

extensions.conf:

[main]
exten	=>	_XXX,1,NoOp()
same	=>	n,Dial(PJSIP/${EXTEN})
same	=>	n,Hangup()

Пример вызова:

Connected to Asterisk certified/13.18-cert3 currently running on test (pid = 17688)
  == Setting global variable 'SIPDOMAIN' to '10.100.100.1'
    -- Executing [200@main:1] NoOp("PJSIP/100-00000000", "") in new stack
    -- Executing [200@main:2] Dial("PJSIP/100-00000000", "PJSIP/200") in new stack
test*CLI> 
Disconnected from Asterisk server
Asterisk cleanly ending (0).
Включал debug 20, полезной информации там не увидел.

Какие конфиги есть:

ls -1 /etc/asterisk/
asterisk.conf
extensions.conf
logger.conf
modules.conf
pjsip.conf
rtp.conf

Asterisk certified/13.18-cert3 built by root @ test.lan on a x86_64 running Linux on 2018-04-04 11:36:17 UTC

P.S. 1: В интернете искал, у многих такая проблема но решение никто не описал. Любители покомментировать советуют вернуться на chan_sip...который при невозможности отрезолвить доменные имена зависает к чертям(кеширующий dns не спасает, т.к. у dns записей sip провайдера слишком мелкий ttl и они пропадают из кеша)...советчики с форумов предлагают переходить на современный pjsip, который GOTO 1

Deleted

Последнее исправление: log4tmp (всего исправлений: 3)

Пробуем такой вариант dialplan:

[main]
exten	=>	_XXX,1,NoOp()
same	=>	n,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})})
same	=>	n,Hangup()


и опять болт:
Connected to Asterisk certified/13.18-cert3 currently running on test (pid = 18780)
  == Setting global variable 'SIPDOMAIN' to '10.100.100.1'
    -- Executing [200@main:1] NoOp("PJSIP/100-00000000", "") in new stack
    -- Executing [200@main:2] Dial("PJSIP/100-00000000", "PJSIP/200/sip:200@10.100.100.200:5060;transport=udp;registering_acc=10_100_100_1") in new stack
test*CLI> 
Disconnected from Asterisk server
Asterisk cleanly ending (0).
Executing last minute cleanups

Может pjsip криво собрался? Всетаки srtp от которого он зависит аж 2007 года выпуска последняя версия.

Deleted
()
Ответ на: комментарий от post-factum

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

Revent
()
Ответ на: комментарий от post-factum

Пробовал с 14, но там клиенты вообще отказывались регистрироваться, хотя это было давно.

Deleted
()
Ответ на: комментарий от Revent

Интересно, попробую. Собранный руками pjproject лучше снести или пусть живет?

Deleted
()
Ответ на: комментарий от post-factum

Собрал 15 с bundled, вылетать при звонке перестало. Попробую с этой версией.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.