Asterisk 16 с PJSIP — все заняты/перегружены при переадресации входящего вызова

Я использую Asterisk 16 на CentOS 7 и PJSIP. Я пытаюсь перенаправить все входящие вызовы на номер телефона (представленный 18001112222) на свой мобильный телефон (представленный 12224446666). Регистрация у провайдера и входящий вызов, поступающий на АТС, работают без проблем, но создание исходящего переадресованного вызова на мой мобильный телефон приводит к следующим строкам журнала:

  == Setting global variable 'SIPDOMAIN' to '167.71.106.189'
    -- Executing [18001112222@from-external:1] Verbose("PJSIP/mytrunk-00000000", "1, "New caller, 2224446666 dialed into the IVR."") in new stack
  "New caller, 2224446666 dialed into the IVR."
    -- Executing [18001112222@from-external:2] Answer("PJSIP/mytrunk-00000000", "") in new stack
    -- Executing [18001112222@from-external:3] Dial("PJSIP/mytrunk-00000000", "PJSIP/mytrunk/sip:14045964207") in new stack
    -- Called PJSIP/mytrunk/sip:14045964207
    -- PJSIP/mytrunk-00000000 requested media update control 26, passing it to PJSIP/mytrunk-00000001
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Executing [18001112222@from-external:4] Hangup("PJSIP/mytrunk-00000000", "") in new stack
  == Spawn extension (from-external, 18001112222, 4) exited non-zero on 'PJSIP/mytrunk-00000000'

Похоже, что Everyone is busy/congested at this time — это сообщение об ошибке, вызывающее сбой этой установки. Я попытался изменить схему аутентификации для mytrunk, используя многочисленные сообщения на онлайн-форуме, но сообщение об ошибке продолжает появляться на исходящем участке переадресации. Мои файлы конфигурации ниже:

pjsip.conf:

;==============TRANSPORTS

[simpletrans]
type=transport
protocol=udp
bind=0.0.0.0

;===============TRUNK

[mytrunk]
type=registration
outbound_auth=mytrunk
server_uri=sip:<SIP provider gateway>
client_uri=sip:<username>@<SIP provider gateway>
retry_interval=60

[mytrunk]
type=auth
auth_type=userpass
password=<password>
username=<username>

[mytrunk]
type=aor
contact=sip:<SIP provider gateway>:5060

[mytrunk]
type=endpoint
context=from-external
disallow=all
allow=ulaw
outbound_auth=mytrunk
aors=mytrunk

[mytrunk]
type=identify
endpoint=mytrunk
match=<SIP provider gateway>

extensions.conf:

[globals]
; General internal dialing options used in context Dial-Users.
; Only the timeout is defined here. See the Dial app documentation for
; additional options.
INTERNAL_DIAL_OPT=,30

[from-external]
exten = _18001112222,1,Verbose(1, "New caller, ${CALLERID(num)} dialed in.")
 same = n,Answer()
 same = n,Dial(PJSIP/mytrunk/sip:12224446666@mytrunk)
 same = n,Hangup()

Я полагаю, что проблема связана с конфигурацией pjsip.conf для исходящих вызовов, потому что входящий вызов достигает АТС без проблем, и я могу сделать что-то вроде Verbose() и увидеть результат в интерфейсе командной строки Asterisk. Я не уверен, что мне нужно сделать, чтобы создать исходящий этап, когда входящий вызов от ITSP будет успешным.

Спасибо.


person David    schedule 26.02.2020    source источник
comment
В этой теме нет вопросов по программированию. Это только отладка. Вы должны выполнить отладку pjsip и посмотреть, какой пир используется.   -  person arheops    schedule 27.02.2020


Ответы (1)


Вместо

same = n,Dial(PJSIP/mytrunk/sip:12224446666@mytrunk)

Пытаться

same = n,Dial(PJSIP/12224446666@mytrunk)

Поскольку вся конфигурация находится в объявлении транка, вам не нужно отправлять uri в транк.

person emilianoar    schedule 12.05.2020