AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

A2Billing + redirect from PSTN to IP

Биллинг 5 сообщений -
#1

Добрый день всем!

Такая фишка, имеется городской номер 12345678,
при звонке на него абонент попадает на IVR: "Пожалуйста, введите в тональном режиме номер телефона адресата после звукового сигнала".
После набора номера звонок переадресуется набранному номеру, тем самым обеспечивая возможность использования VoIP без использования VoIP-оборудования Very Happy

Как мне заставить биллинг считать звонки таких абонентов, если:
1. Аутентификация - по CallerID.
2. Тип карточки - POSTPAY.
3. Создан профиль [agi-conf4] с такими параметрами (остальные тут не указаны):
Код:

answer_call=yes
use_dnid=NO
cid_sanitize=CID
cid_enable=YES
sip_iax_pstn_direct_call_prefix=9
sip_iax_pstn_direct_call=NO
dialcommand_param="|30|HL(%timeout%:61000:30000)"

контекст для входящих звонков на номер 12345678
[config:1:487a41bef6]
[pstn_sip_gate] ;Calls to PSTN-IP Gate (501-9-524)
exten => s,1,Wait(1)
exten => s,2,Playback(skm_ivr/dozvon-8khz)
exten => s,3,Playback(beep)
exten => s,4,NoOp
exten => s,n,Wait(6)
exten => s,n,Goto(dozvon-routing,${DIALEDPEERNUMBER},1)

[dozvon-routing]
exten => _80NXXXXXXXX,1,Set(ua_num=${EXTEN})
exten => _80NXXXXXXXX,2,Set(to_ua=3${ua_num})
exten => _80NXXXXXXXX,3,Goto(dozvon-billing,${to_ua},1)

[dozvon-billing]
exten => _X.,1,Answer
exten => _X.,2,DeadAGI(a2billing.php|4)
exten => _X.,3,Wait(2)
exten => _X.,4,Hangup[/config:1:487a41bef6]

Звоню на этот номер, слышу приглашение ввести номер, после набора номера, вместо перенаправления на набранный номер и подачи КПВ * ложит трубку.

Где копать?


Последний раз редактировалось: Lonely_Ghost (Вт Янв 16, 2007 15:33)
#2

Кажется придумал Smile
Нужно копать в сторону DISA, и брать напильник в виде РНР, писать AGI-скрипт, чтобы директивы DISA и Authenticate брали пароли из базы биллинга.
#3

Lonely_Ghost писал(а):
после набора номера, вместо перенаправления на набранный номер и подачи КПВ * ложит трубку.

я бы для начала, включил бы дебаг в * и еще включил бы дебаг в a2b и поглядел бы причину - почему именно он ложит трубу. и уже от этого события и плясал бы дальше.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#4

Потому как абоненты из PSTN - явно никак не SIP-френды, и даже не пиры, * не может их аутентифицировать и потому ложит трубку.
Я поначалу думал завернуть их DID'ом на какой-нибудь SIP-френд и уже от него совершать все исходящие звонки. Но потом понял, что так всем клиентам из PSTN биллинг будет крутить бабки под одним л/с - отнюдь неприемлемый вариант.

Потому, думаю, DISA - самый подходящий вариант, дело за напильником Smile
#5

Нашлось решение без напильника. И DISA не нужен.
Пользуйтесь Smile

Код:

[agi-conf4]
answer_call=YES
use_dnid=YES
cid_sanitize=CID
cid_enable=YES
sip_iax_pstn_direct_call_prefix=9
sip_iax_pstn_direct_call=YES
dialcommand_param="|30|HL(%timeout%:61000:30000)"


[config:1:60ead1cd46]
[pstn_sip_gate] ;Calls to PSTN-IP Gate
exten => s,1,Wait(1)
exten => s,2,Background(skm_ivr/dozvon-8khz)
exten => s,3,Background(beep)
exten => s,4,Set(TIMEOUT(digit)=5)
exten => _X.,1,Set(DESTIN=${EXTEN})
exten => _X.,2,Goto(billing,${DESTIN},1)

[billing]
exten => _X.,1,Answer
exten => _X.,2,DeadAGI(a2billing.php|4)
exten => _X.,3,Wait(2)
exten => _X.,4,Hangup
[/config:1:60ead1cd46]

Обратите внимание: PSTN символ фунта (#) не понимает, потому между цифрами набора устанавливаем паузу в 5 сек.