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

передача заголовка при переадресации вызова

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

MakcumOK
Сообщения: 102
Зарегистрирован: 23 мар 2013, 16:20

передача заголовка при переадресации вызова

Сообщение MakcumOK »

Нужно реализовать передачу sip заголовка при переадресации.
Имеем:
  • - пользователь 1002 звонит пользователю 1060
  • - пользователь 1060 переадресовывает вызов на пользователя 1059
  • - перед переадресацией добавляем наш sip header, в результате видим как этот заголовок передаётся в asterisk:
    SEND: REFER sip:1002@192.168.0.19:5060;transport=WS SIP/2.0
    Via: SIP/2.0/WS df7jal23ls0d.invalid;branch=z9hG4bKdelIimKkB7TKvw05Bmq8KhT2Qu4P5TQ4;rport
    From: <sip:1060@df7jal23ls0d.invalid>;tag=9XTXLsyvEvFpx679XcXx
    To: "New User"<sip:1002@192.168.0.19>;tag=as32fd372a
    Contact: "1060"<sip:1060@df7jal23ls0d.invalid;rtcweb-breaker=yes;click2call=no;transport=ws>;+g.oma.sip-im;+sip.ice;language="en,fr"
    Call-ID: 22b07f5329fde5ee34b24a253c517e1e@192.168.0.19:5060
    CSeq: 7953 REFER
    Content-Length: 0
    Route: <sip:192.168.0.19:5060;lr;sipml5-outbound;transport=udp>
    Max-Forwards: 70
    ORGANIZATIONS: 127
    User-Agent: IM-client/OMA1.0 sipML5-v1.2013.03.19
    Organization: Doubango Telecom
    Refer-To: <sip:1059@doubango.org>
    Referred-By: <sip:1060@doubango.org>;cid=BlKl2ZSstgT
    Refer-Sub: true
    Supported: norefersub
Здесь ORGANIZATIONS: 127 это мой заголовок.
Вопрос в том, как запроксировать этот заголовок?

При просто звонке одного пользователя другому всё отлично.
Т.к. asterisk заходит в extensions, где я считываю нужный мне заголовок и его же дописываю.
После чего он мне приплывает в INVITE сообщении.

Мои соображения:
1.Как одна из идей это каким-то образом(Каким?) перехватить сообщение типа REFER и
например записать нужный мне заголовок в глобальную переменную.
А потом при формировании INVITE сообщения пользователю 1059,
прочитать эту переменную и дописать в сообщение.
Но тут возникнут проблемы когда 2 звонка одновременно будут переадресовываться.
2.сделать как-то без глобальных переменных

Будет отлично если подскажите с хоть каким-то решением.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: передача заголовка при переадресации вызова

Сообщение Vlad1983 »

сильно сомневаюсь, что без правки исходников Asterisk что-нить выйдет

посмотрите в сторону FreeSwitch в нем можно выставить в каком контексте обрабатывать REFER для каждого вызова
http://wiki.freeswitch.org/wiki/Variabl ... er_context
в нем уже либо из БД либо из заголовков дергать что нужно и отправлять дальше
то что получится сходу не гарантирую, но FS более гибкий в плане обработки SIP 302 и REFER
ЛС: @rostel
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: передача заголовка при переадресации вызова

Сообщение Vlad1983 »

мочь-то может, но вот вытянуть дополнительные заголовки из REFER под вопросом
ЛС: @rostel
MakcumOK
Сообщения: 102
Зарегистрирован: 23 мар 2013, 16:20

Re: передача заголовка при переадресации вызова

Сообщение MakcumOK »

Vlad1983 писал(а):сильно сомневаюсь, что без правки исходников Asterisk что-нить выйдет

посмотрите в сторону FreeSwitch в нем можно выставить в каком контексте обрабатывать REFER для каждого вызова
http://wiki.freeswitch.org/wiki/Variabl ... er_context
в нем уже либо из БД либо из заголовков дергать что нужно и отправлять дальше
то что получится сходу не гарантирую, но FS более гибкий в плане обработки SIP 302 и REFER
К сожалению времени на изучение freeswitch нет...
Собственно как и на ковыряние исходников asterisk'а


switch, спасибо за подсказку. Если есть статьи по этой теме, скиньте, плс.

vlad1983, выходит при приёме сообщений типа REFER нельзя воспользоваться функцией SIP_HEADER()?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: передача заголовка при переадресации вызова

Сообщение Vlad1983 »

я не утверждаю, что нельзя SIP_HEADER()
просто не заморачивался никогда с подобными схемами на Asterisk
на FS отработывает
единственная особенность для кастомных заголовков на FS нужно использовать префикс "X-"

попробуете и расскажите как в ведет себя астериск.
ЛС: @rostel
MakcumOK
Сообщения: 102
Зарегистрирован: 23 мар 2013, 16:20

Re: передача заголовка при переадресации вызова

Сообщение MakcumOK »

Vlad1983,switch
Хорошо, как что-то получится первым делом отпишусь сюда)
kasper
Сообщения: 199
Зарегистрирован: 03 авг 2011, 11:00

Re: передача заголовка при переадресации вызова

Сообщение kasper »

Vlad1983 писал(а): единственная особенность для кастомных заголовков на FS нужно использовать префикс "X-"
И не только на FS это требование сип стандарта
The asterisk is my hero
MakcumOK
Сообщения: 102
Зарегистрирован: 23 мар 2013, 16:20

Re: передача заголовка при переадресации вызова

Сообщение MakcumOK »

kasper,Вы правы.

Вобщем считать заголовок из REFER почему-то не получается.
Добавить заголовок при переадресации получилось.

Буду дальше пытать *
MakcumOK
Сообщения: 102
Зарегистрирован: 23 мар 2013, 16:20

Re: передача заголовка при переадресации вызова

Сообщение MakcumOK »

Вобщем продебажил сип месаджи и оказалось, что в контекст, который используется при переадресации,
он заходит с тем самым INVITE, который мне как раз и надо дописать :?
А т.к. я не могу считать тот заголовок, который добавляю при переадресации, то и функция SIPAddHeader оказывается бесполезной.
У кого есть идеи по этому счету?

Список моих действий :
1.Определяю контекс, который используется при переадресации( Set( __TRANSFER_CONTEXT = mycontext ) )
2.В этом самом контексте пытаюсь считать загловок(SIP_HEADER)

может ошибка всё-таки во мне?
MakcumOK
Сообщения: 102
Зарегистрирован: 23 мар 2013, 16:20

Re: передача заголовка при переадресации вызова

Сообщение MakcumOK »

А я так надеялся что во мне :(
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH