Проблема с dtmf при исходящем вызове через SIP.
имеем контекст для исходящих вызовов:
[do_callback]
exten => s,1,Set(CDR(accountcode)="callbacktest")
exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 10 seconds
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 20 seconds
exten => s,n,Set(CALLERID(num)=1088)
exten => s,n,Set(CHANNEL(language)=callback_service);
exten => s,n,Set(D_DELAY=0.2);
exten => s,n,Answer;
exten => s,n,Wait(1);
exten => s,n(nachalo_soobsheniya),Background(enter_phone);
exten => s,n,WaitExten(5);
exten => _8913XXXXXXX,1,Dial(SIP/${EXTEN}@${SIPGATE},180,tTog);
exten => _8913XXXXXXX,n,Hangup();
Имеем такой call-файл:
# Channel: SIP/8913xxxxxxx@sip_hecate
Channel: SIP/+7913xxxxxxx@gsm_gate1
# Channel: Zap/G1/50053xxxxxx
CallerID: Avantel Auto Informer <8xxxxxxxxxxx>
MaxRetries: 9
RetryTime: 90
WaitTime: 90
Context: do_callback
Extension: s
Priority: 1
Имеет такой диалпир в sip.conf
[gsm_gate1]
type=friend
host=192.168.54.6
port=5060
call-limit=1
nat=no
disallow=all
allow=ulaw
dtfmode=rfc2833
dtmf=rfc2833
context=callback_requisition
Так вот, когда делаем вызов через Zap-канал, dtmf от абонента опознаётся. Когда сам сотовый абонент звонит на екстеншен и переводится в этот контекст к s,1 - тоже dtmf от него опознаётся.
Когда же мы связываемся с абонентом через gsm-шлюз или через VoIP-систему ${SIPGATE}, сигналы dtmf от него не воспринимаются совершенно. Если изменить контекст и насильно соединять его с каким-нибудь телефоном, то тоны от него слышно, если понажимать кнопки. Настройка dtmf на gsm-шлюзе установлена в rfc2833. Пробовал менять её на inbound, одновременно с изменением соотв. пунктов в [gsm_gate1], положительного результата не дало.
В чём может быть проблема? Кто-нибудь сталкивался с похожим? Как лечились?
|