Всем привет.
Есть схема: Asterisk 1.6.2.17.3 <-SIP-> Iskratel Si2000v5 <-SS7/ISUP-> TDM
Со стороны TDM приходит вызов - нет КПВ. Причина - в ответ на входящий IAM сишка шлет как полагается, инвайт астериску, астериск отвечает 100 Trying, 180 Ringing и 183 Session Progress, в результате Si2000 пересылает в ISUP ACM Alerting, и далее CPG Progress, что в корне неправильно, ибо Alerting означает что вызываемый абонент найден и вызывается. Естетственно что TDM АТС, получая Progress после Alerting - затыкается.
Но тут, так как вызов транзитный, то астериск должен был ответить только с 183 Session Progress c SDP, чтобы станция послала в сторону TDM ACM c Progress Indicator=Inband early media, что подразумевает собой проключение тракта в предответном и начало передачи раннего аудио (КПВ, музычка, или голосовое сообщение).
Как заставить Астериск отвечать на инвайт только 183 Progress без 180 ?
Поднимаю старую тему, только что опять вернулся к данной проблеме.
Решение:
в sip.conf
prematuremedia = no
progressinband = never
далее в диалплане в любом месте перед вызовом, хоть перед Dial:
[context]
exten => _X.,1,Progress
exten => _X.,n,***********
в результате получаем:
|Time | 192.168.0.3 |
| | | 192.168.0.1 |
|6,162 | INVITE SDP (g711A telephone-eventRTPType-101)
| |(19090) ------------------> (5060) |
|6,176 | 401 Unauthorized |SIP Status
| |(19090) <------------------ (5060) |
|6,176 | ACK | |SIP Request
| |(19090) ------------------> (5060) |
|6,178 | INVITE SDP (g711A telephone-eventRTPType-101)
| |(19090) ------------------> (5060) |
|6,192 | 100 Trying| |SIP Status
| |(19090) <------------------ (5060) |
|6,193 | 183 Session Progress SDP (g711A telephone-even...PType-101)
| |(19090) <------------------ (5060) |
|6,276 | RTP (g711A) |RTP Num packets:364 Duration:7.270s SSRC:0xC0A6968E
| |(65368) ------------------> (13170) |
|6,369 | RTP (g711A) |RTP Num packets:369 Duration:7.377s SSRC:0x2C7CE64B
| |(65368) <------------------ (13170) |
|13,773 | BYE | |SIP Request
| |(19090) ------------------> (5060) |
|13,788 | 487 Request Terminated |SIP Status
| |(19090) <------------------ (5060) |
|13,788 | ACK | |SIP Request
| |(19090) ------------------> (5060) |
|13,789 | 200 OK | |SIP Status
| |(19090) <------------------ (5060) |
Всем спасибо.
этот вопрос 1 в 1 задавалься. поиск ладно. короче поиграться progressinband=yes prematuremedia=no. если не сработало, зжначит никак. ну или комбинации этих двух параметров.
Добрый день! У меня даже проблема. С оператора приходит все в правильном порядке, RTP сообщение прослушивал, все ок. А вот на сипфон идет сначала ringing. Вот дебаг от оператора к астериску:
|9,045 | INVITE SDP ( telephone-event) |
|9,054 | 100 Trying| |
|10,152 | 183 Session Progress |
|10,202 | RTP (g711A) |
|10,371 | 183 Session Progress |
|15,732 | 180 Ringing |
|15,752 | 200 OK SDP ( telephone-event) |
|15,752 | ACK |
|15,753 | INVITE SDP ( telephone-event) |
|15,757 | 100 Trying|
|15,762 | RTP (g711A) |
|15,789 | 200 OK SDP ( telephone-event) |
|15,790 | ACK |
|20,665 | INVITE SDP ( telephone-event) |
|20,671 | 100 Trying|
|20,700 | 200 OK SDP ( telephone-event) |
|20,700 | ACK |
|20,700 | BYE |
|20,725 | 200 OK |
А вот дебаг от астериска к сипфону:
|9,043 | INVITE SDP ( telephone-event) |
|9,044 | 100 Trying| |
|9,045 | 180 Ringing |
|10,152 | 180 Ringing |
|15,752 | 200 OK SDP ( telephone-event) |
|15,768 | ACK |
|15,769 | INVITE SDP ( telephone-event) |
|15,788 | 200 OK SDP ( telephone-event) |
|15,789 | ACK |
|20,664 | BYE |
|20,664 | 200 OK |
Как пропустить RTP на сипфон сразу, а не после re-Invinte?
Была подобная проблемы с Iskratel SI 3000. И звездочкой 1,6 Решается заменой на стороне Iskratel (Медиашлюза), посмотрите в дамп звонка обратите внимание на время между ответами Invite 183 Ringing и 200 OK.
Задан: May 31 '11
Просмотрен: 18,587 раз
Обновлен: Jul 30 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.