Это неправильное решение. Работает конечно, но неправильно.
mistral ( 2015-03-01 22:02:55 +0400 )редактироватьВсем привет, столкнулся с проблемой: Есть номер А с которого идет безуслованя переадресация на номер Б. Номер Б подключен к Астериску по SIP. На Астериске сделал переадресацию на внешний номер при входящем звонке с номера Б. Взонок все время в не проходит вот лог:
Audio is at 12982
Adding codec 0x8 (alaw) to SDP
Reliably Transmitting (NAT) to 172.XXX.XXX.XXX:5060:
INVITE sip:8987XXXXXXX@172.XXX.XXX.XXX SIP/2.0
Via: SIP/2.0/UDP 172.XXX.XXX.XXX:5060;branch=z9hG4bK18d5da8e;rport
Max-Forwards: 70
From: "391217" <sip:391217@172.XXX.XXX.XXX>;tag=as1ede5b5c
To: <sip:8987XXXXXXX@172.XXX.XXX.XXX>
Contact: <sip:391217@172.XXX.XXX.XXX:5060>
Call-ID: 1f936eb70b71d3bf49d5b8355651af1a@172.XXX.XXX.XXX
CSeq: 102 INVITE
User-Agent: FPBX-2.10.0(1.8.21.0)
Date: Thu, 27 Jun 2013 04:55:57 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Diversion: <sip:917208XXXX@172.XXX.XXX.XXX>;reason=unconditional
Content-Type: application/sdp
Content-Length: 206
v=0
o=root 1117128753 1117128753 IN IP4 172.XXX.XXX.XXX
s=Asterisk PBX 1.8.21.0
c=IN IP4 172.XXX.XXX.XXX
t=0 0
m=audio 12982 RTP/AVP 8
a=rtpmap:8 PCMA/8000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
---
-- Called SIP/391217/8987XXXXXXX
<--- SIP read from UDP:172.XXX.XXX.XXX:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 172.XXX.XXX.XXX:5060;branch=z9hG4bK18d5da8e;rport=5060
Call-ID: 1f936eb70b71d3bf49d5b8355651af1a@172.XXX.XXX.XXX
From: "391217"<sip:391217@172.XXX.XXX.XXX>;tag=as1ede5b5c
To: <sip:8987XXXXXXX@172.XXX.XXX.XXX>
CSeq: 102 INVITE
Content-Length: 0
<------------->
--- (7 headers 0 lines) ---
<--- SIP read from UDP:172.XXX.XXX.XXX:5060 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 172.XXX.XXX.XXX:5060;branch=z9hG4bK18d5da8e;rport=5060
Call-ID: 1f936eb70b71d3bf49d5b8355651af1a@1172.XXX.XXX.XXX
From: "391217"<sip:391217@172.XXX.XXX.XXX>;tag=as1ede5b5c
To: <sip:8987XXXXXXX@172.XXX.XXX.XXX>;tag=ce79b920
CSeq: 102 INVITE
Reason: Q.850;cause=21;text="call rejected"
Content-Length: 0
Как видно в инвайте при переадресации на сомом астериске присутствует строка:
Diversion: <sip:917208XXXX@172.XXX.XXX.XXX>;reason=unconditional
Это как раз номер А. У провайдера SIP разруливается только по CID, так что я так понимаю провайдер не пускает звонки с номера который указан в Diversion:, подскажите пожалуйста как убрать эту строку из Инвайта.
РЕШЕНО: в Advanced Settings поставил параметр:
Generate Diversion Headers
в TRUE Теперь у меня 2 строки Diversion, но последняя правильная и звонки пошли.
На тот случай если кто-то столкнется с подобной проблемой. Решение данной задачи намного проще. sip.conf send_diversion=no
Это неправильное решение. Работает конечно, но неправильно.
mistral ( 2015-03-01 22:02:55 +0400 )редактироватьЗадан: 2013-06-27 09:43:43 +0400
Просмотрен: 4,426 раз
Обновлен: Feb 28 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
а не по левому ли callerID режет вас ? и тут есть два решения этого вопроса
awsswa ( 2013-06-27 10:53:30 +0400 )редактироватьВ общем когда звонок приходит напрямую на номер Б то все проходи, а кога звонок приходит с номера А то повляется признак переадресации (выше указанный лог)
romariosar ( 2013-06-27 11:23:22 +0400 )редактироватьвариант раз - подставить callerid ваше, вариант два - звонить через Local
awsswa ( 2013-06-27 12:22:58 +0400 )редактироватьсм. выше. callerID передается в поле Diversion
romariosar ( 2013-06-27 13:54:56 +0400 )редактировать