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

pjsip channel variables

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

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

Ответить
Severd
Сообщения: 16
Зарегистрирован: 03 мар 2016, 13:02

pjsip channel variables

Сообщение Severd »

Медленно но верно идет работа по переходу на канал PJSIP.
Необходимо переписать рабочий диалплан под новый драйвер канала - PJSIP.
Ну, то-что Dial(SIP/${EXTEN} нужно переписать в Dial(PJSIP/${EXTEN} очевидно.
Но есть ведь еще переменные канала...
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: SIP сhannel variables
${SIPCALLID} * SIP Call-ID: header verbatim (for logging or CDR matching)
${SIPDOMAIN} * SIP destination domain of an inbound call (if appropriate)
${SIPUSERAGENT} * SIP user agent (THIS DOESNT WORK IN 1.8(+?), I DONT KNOW IF ANY OF THESE WORK EXCEPT FOR SIPURI)
${SIPURI} * SIP uri
${SIP_CODEC} Set the SIP codec for a call
${SIP_URI_OPTIONS} * additional options to add to the URI for an outgoing call
${RTPAUDIOQOS} RTCP QoS report for the audio of this call
${RTPVIDEOQOS} RTCP QoS report for the video of this call
И что-то мне подсказывает, что тут все плохо... ведь ENDPOINT, AOR...
Гугл проблему не решил... в документации как-то не нашел...

Я конечно попробую методом эксперимента... но может подскажет кто?

PS: Походу, после окончания миграции будет большаааая статья о PJSIP, ARI, REALTIME, cURL, extansions, сhannel variables, и других камнях...
PPS: большая от слова боль))) ибо Realtime в PJSIP это море неожиданностей.
Severd
Сообщения: 16
Зарегистрирован: 03 мар 2016, 13:02

Re: pjsip channel variables

Сообщение Severd »

Возможно я поставил вопрос лишком обще.
Вообще обидно запинаться на такой ф... малости как канальные переменные PJSIP.
Должна же быть какая то документация, как по SIP?!

Ну или хотя-бы примеры для PJSIP.

Конкретно у меня проблемы со следующими строками:

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

Set(port=${SIPPEER(${CHANNEL(peername)}:port)})
GotoIf($["${CHANNEL(peerip)}" = 
Dial(SIP/anycontext/${EXTEN})
Есть идеи?
Severd
Сообщения: 16
Зарегистрирован: 03 мар 2016, 13:02

Re: pjsip channel variables

Сообщение Severd »

Что касается Dial, возможнорешается через AOR и контакт...
http://asterisk-pbx.ru/wiki/asterisk/pjsip
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: цитата
[siptrunk]
type=aor
contact=sip:123.123.1.1:5060
В последнем примере пропущен username, что позволяет использовать данную запись для исходящей связи, определяя
вызываемый номер при помощи диалплана «Dial(PJSIP/${EXTEN}@siptrunk)».
Но это монструозный костыль...

Еще в документации есть описание функций
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: функции pjsip
Page: Asterisk 13 Function_PJSIP_AOR
Page: Asterisk 13 Function_PJSIP_CONTACT
Page: Asterisk 13 Function_PJSIP_DIAL_CONTACTS
Page: Asterisk 13 Function_PJSIP_ENDPOINT
Page: Asterisk 13 Function_PJSIP_HEADER
Page: Asterisk 13 Function_PJSIP_MEDIA_OFFER
Думаю, искомые переменные выдернуть с их помощью.
Severd
Сообщения: 16
Зарегистрирован: 03 мар 2016, 13:02

Re: pjsip channel variables

Сообщение Severd »

Думаю потомков порадует таблица из третьего комментария.
https://issues.asterisk.org/jira/browse/ASTERISK-23173
Аватара пользователя
Obi Van
Сообщения: 340
Зарегистрирован: 03 сен 2010, 11:21

Re: pjsip channel variables

Сообщение Obi Van »

Стесняюсь спросить, а зачем сосбно pjsip? :geek: Чем то sip не устраивает?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: pjsip channel variables

Сообщение ded »

Новый стек написали. Более полно отвечающий современным RFC о протоколе SIP. Была в сети где-то сравнительная таблица - сравнение реализации всех (!) требований и рекомендаций известными open source стеками, в то время лидер был sip sofia
http://sofia-sip.sourceforge.net
наиболее полно все фишки были реализованы. Сейчас их тьма тем
Aloha Spring based J2SE SIP A/S which leverages optimistic concurrent model and supports multiple persistence models
eXosip - eXtended osip library
Juphoon SIP Stack Rich software SDK support SIP, SDP, XML, RTP/RTCP, HTTP, STUN, ABNF etc. Support Windows, Linux, ThreadX, Vxworks etc.
libdissipate SIP stack
Libre - Portable SIP Stack under BSD license with IPv4/v6 support (SIP,SDP,RTP/RTCP,STUN,TURN,ICE,DNS)
minisip includes a SIP stack
MjSip - complete and powerful java-based SIP library for both J2SE and J2ME platforms.
MSRP Library - MSRP protocol (RFC4975) and its relay extension (RFC4976) written in Python
NIST SIP Various SIP appications and tools in Java
Open Sip Stack MPL licensed SIP stack with ENUM, Presence (XMPP/SIMPLE) and NAT traversal. Reference implementation of Session Border Controller (OpenSBC) available.
oSIP Library SIP Library
OSP client protocol stack and SIPfoundry
PhClickDial - Verona based Active/X plugin for IE allowing ClickToDial functionallity
PJSIP: Small footprint, high performance, and ultra-portable SIP stack written in C, and has language binding for Python. Works on smartphones (Symbian, Windows, iPhone/iOS, Android) as well as desktops and support ZRTP encryption.
reSIProcate SIP stack and sample Application from SIPfoundry
SailFin Adds SIP support the the Java GlassFish Application Server
SIP.js - SIP Signaling JavaScript Library for WebRTC Developers
sipXtackLib an RFC 3261, 3263 complient SIP stack from SIPfoundry
http://sofia-sip.sourceforge.net Sofia-Sip is SIP stack implementation with STUN and presense support
SIP SIMPLE client SDK - High level middleware on top of SIP, RTP, MSRP and XCAP protocols
Twisted Python protocol stacks and applications includes SIP support
Verona - GPL licenesed VOIP engine based on oSIP,eXosip,oRTP,ffmepg, works on Linux,Windows Mac-OS/X
Vovida SIP Vovida SIP stack
XCAP Library - XCAP client library written in Python
YASS - Statefull SIP stack used in Yate written in C++ usable for client, server or proxy in a multithread or single thread model. It's working on both Windows and Linux, it's very small but full featured.
ivrworx - high level Lua interface to SIP/RTSP/MRCP, for testing distributed VoIP scenarios (windows, Vista+ clients).
Severd
Сообщения: 16
Зарегистрирован: 03 мар 2016, 13:02

Re: pjsip channel variables

Сообщение Severd »

зачем сосбно pjsip?
Новый стек написали
От себя добавлю:
Вообще переходили с 8го астериска на 13ый.
PJSIP отличается улучшенной проходимостью NAT, что для на с важно.
Asterisk вроде хотят сделать основным именно его... По крайней мере, они жалуются, что не могут нормально разрабатывать новые фичи для SIP стека, поэтому хотят перейти на компактный код PJSIP. (чтал вроде здесь)

а вообще сыро, слабодокументированно и, на мой взгляд, все это разделение на секции и отдельные конфигурации себя не оправдывает. Но это как постфактум перехода...
Аватара пользователя
Obi Van
Сообщения: 340
Зарегистрирован: 03 сен 2010, 11:21

Re: pjsip channel variables

Сообщение Obi Van »

Овер 9000 реализаций для...ну не будем о грустном. :mrgreen: Нам пока что хватает то что есть.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH