Ещё раз, тезисно. (Пред)Биллинг почти всегда живёт возле "первой мили", там формируется деталька о событии с параметрами к тарификации.
Сейчас регулятор позволяет Абоненту выставить счёт за 3+ секунды состоявшегося соединения, Оператору за 1+ длительность. Любой спор верифицируется встречной сверкой первой и последней мили.
Лениво лезть на работу за формулировками причин окончания попытки соединения, так что по памяти.
Возьмём печальный случай: говно оператору не хватило каналов выплюнуть вызов наружу, или вызов заблудился и ушёл в кольцо, или не найден маршрут.
Вот как ты регулятору обоснуешь счёт за такое?!
Ну, ОК, предположим ты начнёшь (регулятор позволит) анализировать причину разъединения. Прежде чем регулятор тебе позволит это, потребуется сертифицировать DISCONNECT REASONS всего зоопарка коммутаторов, выявить варианты, когда вызываемая сторона получает уведомление о попытке соединения (это, с натяжкой, можно назвать Услугой).