<HTML><BODY><br><span id="result_box" lang="en"><span title="Привет!

">Hello!<br><br></span><span title="Касательно второго и третьего вопроса.">Regarding the second and third question. </span><span title="Я когда-то делал вот так:
">I once did like this:<br><br>route<br>{<br>    route(checks);<br>    route(reqinit);<br>..<br>    route(class4);<br>}<br><br>route[reqinit]<br>{<br>    ....<br><br>    if (has_totag() && (uri == myself) && is_method("INVITE|ACK|BYE|UPDATE"))<br>    {<br>        if(match_dialog())<br>        {<br>            # sequential request -> obey Route indication<br>            if(is_method("BYE"))<br>            {<br>                t_on_reply("manage_reply_class4");<br>                xlog("[$ci] INFO BYE DIALOG_DID=$DLG_did DLG_lifetime=$DLG_lifetime \n");<br>                route(acc_stop);<br><br>            }<br>            else<br>            if(is_method("INVITE"))<br>            {<br>                xlog("[$ci] INFO Re-Invite has come for: $fU");<br>                if(match_dialog())<br>                {<br>                    xlog("[$ci] INFO dialog matched");<br>                    t_relay();<br>                    exit;<br>                }<br>            }<br>            #loose_route();<br>            t_relay();<br>            exit;<br>        }<br>        if ( is_method("ACK") ) <br>        {<br>            if ( t_check_trans() ) <br>            {<br>                # non loose-route, but stateful ACK; must be an ACK after <br>                # a 487 or e.g. 404 from upstream server<br>                route(acc_stop);<br>                t_relay();<br>                exit;<br>            } <br>            else <br>            {<br>                # ACK without matching transaction -><br>                # ignore and discard<br>                exit;<br>            }<br>        }<br>        xlog("[$ci] INFO No such dialog\n");<br>    }<br>    # handle cancel and re-transmissions<br>    if ( is_method("CANCEL") )<br>    {<br>        xlog("[$ci] INFO Cancel message from: $fU\n");<br>        if ( t_check_trans() )<br>        {<br>                        route(acc_stop);<br>            t_relay();<br>        }<br>        exit;<br>    }<br>}<br><br>route[class4]<br>{<br>    if is_method("INVITE")<br>    {<br>        .....<br>        route(acc_start);<br>    }<br>..<br>}<br><br>onreply_route[manage_reply_class4]<br>{<br>    <br>    if (is_method("INVITE") && t_check_status("200") || t_check_status("[4|5|6][0-9][0-9]") && !t_check_status("1[0-9][0-9]"))<br>    {<br>                $avp(call_time_setup) = $Ts - $avp(call_time_created_Ts);<br>               route(acc_update);<br>    }<br>}<br><br>route[acc_start]<br>{<br>       $avp(time_call_created) = $time(%F %T);<br>        $avp(call_time_created_Ts) =$Ts;<br>        $avp(call_fuo) = $fU;<br>        $avp(call_tuo) = $tU;<br>        $avp(call_mi) = $mi;<br>        avp_db_query("insert into acc (method, from_tag, callid, time, created, ruo, fuo, tuo, mi, fgw) <br>                values ('$rm', '$ft', '$ci', '$avp(time_call_created)', <br>                    '$avp(time_call_created)', '$avp(call_ruo)', '$avp(call_fuo)', '$avp(call_tuo)', <br>                    '$avp(call_mi)', '$avp(call_gw_source)')");<br>}<br><br>route[acc_update]<br>{<br>    avp_db_query("select callid from acc where callid='$ci'","$avp(call_id)");<br>        if($avp(call_id))<br>        {<br>            avp_db_query("update acc set to_tag = '$tt', sip_code = '$rs', sip_reason = '$rr', <br>                        setuptime = '$avp(call_time_setup)', tgw = '$avp(call_gw_dest)',<br>                        ru = '$avp(call_ru)', fu = '$fU', tu = '$tU' <br>                    where callid='$ci'");<br>        }<br><br>}<br><br>route[acc_stop]<br>{<br>    avp_db_query("select callid from acc where callid='$ci'","$avp(call_id)");    <br>    if($avp(call_id))<br>        {<br>            avp_db_query("update acc set duration = '$DLG_lifetime'    where callid = '$ci'");<br>        }<br>}<br></span></span><br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Понедельник,  8 января 2018, 0:50 +03:00 от voipspace voipspace <voipspace@yandex.com>:<br>
        <br>
        <div id="">




























<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                <base target="_self" href="https://e.mail.ru/">
                
            <div id="style_15153618420000000916_BODY"><br>
<br>
A few question;<br>
<br>
Firstly<br>
<br>
With mod acc and acc_cdr i see the default fields logged is only start_time, end_time, duration.<br>
<br>
This is an actual entry logged.<br>
<br>
start_time, end_time, duration<br>
1515353126, 1515353135, 9.660000<br>
<span id="result_box" lang="en"><span title="Привет!

">Hello!<br><br></span><span title="Касательно второго и третьего вопроса.">Regarding the second and third question. </span><span title="Я когда-то делал вот так:
">I once did like this:</span></span><br>
Why is the duration 9.660000? <br>
<br>
It seems wrong because it is more then the difference in time<br>
<br>
1515353135 - 1515353126 = 9<br>
<br>
<br>
<br>
Secondly<br>
<br>
What is a reliable way to capture and log start time, answer time, and end time.<br>
How do I get the duration info. a) start time to end time. b) answer to end time. <br>
<br>
Is there an built in variable that store this info?<br>
<br>
<br>
Thirdly<br>
<br>
dialog events listed as:<br>
<br>
event_route[dialog:start]<br>
event_route[dialog:end]<br>
event_route[dialog:failed]<br>
<br>
There does not seems to be a event for answer so then how to be notified when a dialog is answered?<br>
<br>
Regards<br>
<br>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</div>
            
        
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>С уважением,<br>Евгений Голей<br></BODY></HTML>