LINUX.ORG.RU
ФорумAdmin

канал в freepbx

 , ,


0

2

Добрый день, коллеги. Настраиваю связку asterisk + freepbx. В настройках freepbx установлен канал pjsip. Подключил транк РТК, регистрация проходит. Настраиваю входящую маршрутизацию. Поскольку по умолчанию РТК учетка не отдает свой DID, пришлось приделывать костыли. В контексте пришлось прописать from-pstn-toheader. Ошибка «No DID or CID Match» ушла, но вылазит следующий косяк: Executing [s@from-pstn-toheader:1] NoOp(«PJSIP/742XXXXX966-00000002», «Attempting to extract DID from SIP To header») in new stack

-- Executing [s@from-pstn-toheader:2] GotoIf("PJSIP/742XXXXX966-00000002", "0?SIP") in new stack

-- Executing [s@from-pstn-toheader:3] GotoIf("PJSIP/742XXXXX966-00000002", "1?PJSIP") in new stack

-- Goto (from-pstn-toheader,s,7)

-- Executing [s@from-pstn-toheader:7] 

Goto(«PJSIP/742XXXXX966-00000002», «from-pstn,742XXXXX966,1») in new stack – Goto (from-pstn,742XXXXX966,1)

-- Executing [742XXXXX966@from-pstn:1] Set("PJSIP/742XXXXX966-00000002", "__FROM_DID=742XXXXX966") in new stack

-- Executing [742XXXXX966@from-pstn:2] NoOp("PJSIP/742XXXXX966-00000002", "Received an unknown call with DID set to 742XXXXX966") in new stack

-- Executing [742XXXXX966@from-pstn:3] Goto("PJSIP/742XXXXX966-00000002", "s,a2") in new stack

-- Goto (from-pstn,s,2)

-- Executing [s@from-pstn:2] Answer("PJSIP/742XXXXX966-00000002", "") in new stac

[2023-04-06 16:08:32] ERROR[18048][C-00000003]: pbx_functions.c:651 ast_func_read2: Function SIP_HEADER not registered

Откуда он берет SIP_HEADER, если выше прямо говорит «Set(«PJSIP/742XXXXX966-00000002», «__FROM_DID=742XXXXX966»)»

Как SIP_HEADER поменять на PJSIP_HEADER?



Последнее исправление: gmzym (всего исправлений: 1)
Ответ на: комментарий от Revent

Там все стандартно для freepbx

; from-pstn-toheader ; ; The context is designed for providers who send the DID in the TO: SIP header ; only. The format of this header is: ; ; To: sip:2125551212@172.31.74.25 ; ; So the DID must be extracted between the sip: and the @, which this does ; [from-pstn-toheader]

exten => _.,1,NoOp(Attempting to extract DID from SIP To header)

exten => _.,n,gotoif($[«${CHANNEL(channeltype)}»=«SIP»]?SIP)

exten => _.,n,gotoif($[«${CHANNEL(channeltype)}»=«PJSIP»]?PJSIP)

exten => _.,n,NoOp(Unable to determine SIP channel type)

exten => _.,n,goto(from-pstn,${EXTEN},1))

exten => _.,n(SIP),Goto(from- pstn,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)

exten => _.,n(PJSIP),Goto(from-pstn,${CUT(CUT(PJSIP_HEADER(read,To),@,1),:,2)},1)

gmzym
() автор топика