billing:howto:asterisk

Asterisk

Скрипт предназначен для активации различных услуг MikBiLL с помощью вызова из консоли. Используется некоторыми провайдерами в связке с Asterisk, где абоненты позвонив на call-центр могут из меню активировать услуги, пополнить счет.

На данный момент поддержаны следующие действия:

  • активация кредита
  • активация ваучера пополнения

В скрипте Asterisk вызывается к примеру:

php index.php do_pay_card -card 987646384281047550 -login demo -pass demo
php index.php do_credit_enable -login demo -pass demo

Скрипт легко расширяем другим функционалом. Также можно использовать для других целей в своих API.

;Макрос активации кредита 
[macro-credit]
exten => s,1(mysql),MYSQL(Connect connid localhost user password mikbill)
exten => s,2,MYSQL(Query resultid ${connid} SELECT user, password FROM users WHERE (deposit+credit)<0.
AND (phone=(${CALLERID(num):1:13}) OR mob_tel=(${CALLERID(num):1:13}) OR sms_tel=(${CALLERID(num):1:13})) LIMIT 1 )
exten => s,3,MYSQL(Fetch fetchid ${resultid} login pass)
exten => s,4,MYSQL(Clear ${resultid})
exten => s,5,MYSQL(Disconnect ${connid})
exten => s,6,NoOP
exten => s,7,NoOP
exten => s,8,GotoIf($[foo${login} = foo]?26:9)
exten => s,9,Read(NUMBER,/var/lib/asterisk/sounds/ru/obnaruzili_zadolzennost&/var/lib/asterisk/sounds/ru/limit,1,10)
exten => s,10,GotoIf($["${NUMBER}"=="1"]?15:11)
exten => s,11,Read(NUMBER,/var/lib/asterisk/sounds/ru/povtoryaem_limit,1,10)
exten => s,12,GotoIf($["${NUMBER}"=="1"]?15:13)
exten => s,13,Read(NUMBER,/var/lib/asterisk/sounds/ru/ostavaites_na_linii,1,15)
exten => s,14,GotoIf($["${NUMBER}"=="1"]?15:26)
exten => s,15,Read(NUMBER,/var/lib/asterisk/sounds/ru/uslovie_credita,1,15)
exten => s,16,GotoIf($["${NUMBER}"=="1"]?19:26)
exten => s,17,Read(NUMBER,/var/lib/asterisk/sounds/ru/uslovie_credita,1,15)
exten => s,18,GotoIf($["${NUMBER}"=="1"]?19:26)
exten => s,19,System(php /home/tos/asterisk/index.php do_credit_enable -login ${login} -pass ${pass})
exten => s,20,Set(CREDITACTIVATED="1")
exten => s,21,Playback(/var/lib/asterisk/sounds/ru/usluga_credit_aktivirovanna)
exten => s,22,Read(NUMBER,/var/lib/asterisk/sounds/ru/hotite_soedenistsia_s_operatorom,1,12)
exten => s,23,GotoIf($[${NUMBER}==1]?26:24)
exten => s,24,Playback(/var/lib/asterisk/sounds/ru/all_good)
exten => s,25,Hangup()
exten => s,26,NoOP
  • billing/howto/asterisk.txt
  • Последнее изменение: 6 лет назад
  • alexd