VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Header pjsip проблемы

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
dedy
Сообщения: 5
Зарегистрирован: 13 авг 2018, 15:44

Header pjsip проблемы

Сообщение dedy »

Добрый день

Прошу помочь с asterisk

После перехода с chan_sip на pjsip вижу две проблемы

1) Одному из провайдеров передавал эту строку

same => n, SipAddHeader(P-Asserted-Identity:<sip:564455@3.3.3.3\;user=phone\;cpc=ordinary>) .


Не могу найти решения для pjsip
same => n, SipAddHeader(P-Asserted-Identity:<sip:564455@3.3.3.3\;user=phone\;cpc=ordinary>) Так не подходит перепробовал кучу вариантов. В ендпоинт добавил такие строки

send_pai=yes

send_rpid=yes

rpid_immediate=yes

connected_line_method=update

2. Звонки пишутся в базу постгрес, нужно добавить поле Accountcode . В SIP делал так Set(CHANNEL(accountcode)=GSM

для pjsip не могу найти рабочего варианта

буду благодарен за помощь
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: Header pjsip проблемы

Сообщение ded »

1. SipAddHeader - это очень старый синтаксис. В новых версиях всё делается через единую функцию SET

Код: Выделить всё

*CLI> core show function SET 

  -= Info about function 'SET' =- 

[Synopsis]
SET assigns a value to a channel variable. 

[Description]
Not available

[Syntax]
SET(varname[=value])
2) то же по второму пункту

Код: Выделить всё

Set(CDR(accountcode)=GSM)
Set(CEL(accountcode)=GSM)
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Header pjsip проблемы

Сообщение Zavr2008 »

Для chan_pjsip для объекта Endpoint есть:
user_eq_phone Determines whether a user=phone parameter is placed into the request URI if the user is determined to be a phone number
https://wiki.asterisk.org/wiki/display/ ... _res_pjsip

Относительно PAI - там тоже это всё есть штатно и не нужно изобретать костыли.

Для любителей костылей, они остаются в виде PJSIP_HEADER().
https://wiki.asterisk.org/wiki/display/ ... SIP_HEADER
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
dedy
Сообщения: 5
Зарегистрирован: 13 авг 2018, 15:44

Re: Header pjsip проблемы

Сообщение dedy »

Спасибо. По второму пункту разобрался - заработало.

По первому пункту не могу понять что делаю не так.

Если делаю звонок то у меня уже есть поле P-Asserted-Identity но мне его нужно изменить , если пишу вот так

same => n, Set(PJSIP_HEADER(update,P-Asserted-Identity)=<sip:564455@3.3.3.3\;user=phone\;cpc=ordinary>)

то в логе ошибка что P-Asserted-Identity такого нету, если пишу add то оно мне два таких поля рисует одно верное а второе нет, типа такого P-Asserted-Identity: <sip:564455@3.3.3.3>

Что я делаю не так ?
ded
Сообщения: 15621
Зарегистрирован: 26 авг 2010, 19:00

Re: Header pjsip проблемы

Сообщение ded »

https://community.freepbx.org/t/how-do- ... y/60665/19
(дочитать там до конца)
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Header pjsip проблемы

Сообщение Zavr2008 »

В заметки..
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
dedy
Сообщения: 5
Зарегистрирован: 13 авг 2018, 15:44

Re: Header pjsip проблемы

Сообщение dedy »

Что-то не получается совсем.

вот так в диалплане


same=>n(ks-6121), NoOp()
same=>n, Dial(PJSIP/${EXTEN}@sipprov-endpoint,,Ttb(dial_create_chan,s,1)))

[dial_create_chan]
exten => s,1,GoSub(func-set-sipheader,s,1(P-Asserted-Identity,sip:564455@3.3.3.3))
exten => s,n,exit()


Вижу в логе
Executing [032555555@from-mediatel:80] Dial("PJSIP/mediatel-endpoint-00000045", "PJSIP/032555555@sipprov-endpoint,,Ttb(dial_create_chan,s,1))") in new stack
-- PJSIP/sipprov-endpoint-00000046 Internal Gosub(dial_create_chan,s,1) start
-- Executing [s@dial_create_chan:1] Gosub("PJSIP/sipprov-endpoint-00000046", "func-set-sipheader,s,1(P-Asserted-Identity,sip:564455@3.3.3.3)") in new stack
[Apr 30 09:20:16] ERROR[1564][C-00000028]: app_stack.c:593 gosub_exec: Attempt to reach a non-existent destination for Gosub: (Context:func-set-sipheader, Extension:s, Priority:1)
== Spawn extension (dial_create_chan, s, 1) exited non-zero on 'PJSIP/sipprov-endpoint-00000046'
[Apr 30 09:20:16] NOTICE[1564][C-00000028]: app_stack.c:1081 gosub_run: PJSIP/sipprov-endpoint-00000046 Abnormal 'Gosub(dial_create_chan,s,1)' exit. Popping routine return locations.

Я пробовал добавлять абракадабру в тот хеадер но даже в wireshark не вижу его


Ребят готов даже оплатить помощь в рамках разумного.
dedy
Сообщения: 5
Зарегистрирован: 13 авг 2018, 15:44

Re: Header pjsip проблемы

Сообщение dedy »

Завелось. Всем спасибо


same=>n(ks-6121), NoOp()
same=>n, Dial(PJSIP/${EXTEN}@sipprov-endpoint,,Ttb(dial_create_chan,s,1)))

[dial_create_chan]
exten => s,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=<sip:564455@3.3.3.3\;transport=udp>)
same => n,Return()
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH