Re: Dial и макросы
Сложный вариант:
При инициации звонка, как уже говорили, проверить максимально возможную длительность разговора для данного аккаунта по данному направлению, и выставить ее в параметр L.
При ответе вызываемого абонента, (т.е при выполнении этого макроса) записать в базу информацию о звонке: время ответа, dstchannel, стоимость минуты разговора по данному направлению, идентификатор аккаунта. Раз в минуту для аккаунта выбирать все принадлежащие ему активные звонки, для каждого звонка длительность умножать на стоимость, суммировать. Если сумма получилась больше, чем баланс аккаунта - через ami сделать hangup для каналов этих звонков. На hangup каждого звонка умножать его длительность на стоимость и вычитать из баланса аккаунта, метить звонок как завершенный.
|