Mohammad,
When a caller send an INVITE to SER, the INVITE message will not be
written to DB.
I find that the INVITE written to DB is when the callee answers this call.
So, the INVITE (in DB) is a correct timestamp.
In another word, the call duration is correct.
On 4/29/05, Mohammad Khan <info(a)beeplove.com> wrote:
You are welcome.
Also let me know, if you find anything new.
Thanks,
Mohammad
Charles Wang wrote:
really? it is an interesting result. i think i
will do the same
testing follow your steps,
thank you very much, Mohammad.
On 4/28/05, Mohammad Khan <info(a)beeplove.com> wrote:
>Yes, I also did a ngrep capture and took a close look.
>But what is the sip_method here? (when it send 200 OK)
>How do you capture it to acc?
>
>I did another experiment.
>I called from UA1 to UA2 . and let UA2 rang for half minute.
>And then UA2 picked the call and after couple of seconds disconnect the
>call.
>After this I found the time difference between INVITE 200 and ACK 200 is
>not half minutes.
>Strange thing is, they both have same time and same timestamp. And BYE
>have time that tells call duration was only few seconds
>
>
>Thanks,
>Mohammad
>
>Charles Wang wrote:
>
>
>
>>Mohammad:
>>
>>I trace the packet with ethereal and find ser will send "INVITE" to
callee.
>>The "100 Trying" and "180 ringing" will be send from callee to
ser if
>>callee receives "INVITE".
>>And the callee will respone a "200 OK" after callee hangup. I think
>>this "200 OK"
>>is the callee hangup at this moment.
>>
>>On 4/28/05, Mohammad Khan <info(a)beeplove.com> wrote:
>>
>>
>>
>>
>>>Yes, the duration of call should be just the way you said.
>>>But I am not aware about any UA can send msg back to other UA right
>>>after pick up the call.
>>>
>>>I just use the following query to get successfull calls
>>>select sip_callid from acc where sip_status=200 group by sip_callid
>>>having count(*) = 3;
>>>
>>>If you know the way to get exact call duration, please share with me.
>>>I know, the way I am doing it is couple of seconds more than the actual
>>>duraion.
>>>
>>>Thanks,
>>>Mohammad
>>>
>>>
>>>Charles Wang wrote:
>>>
>>>
>>>
>>>
>>>
>>>>Hi,
>>>>
>>>>I think that the ACK after INVITE is only the callee(UAC) receives my
>>>>INVITE and ready to start RINGING. But this time is not the really
>>>>Call Start.
>>>>Generally, the start time of call should be callee hangup the phone
>>>>after ringing.
>>>>Do you have any idea about it?
>>>>
>>>>On 4/28/05, info(a)beeplove.com <info(a)beeplove.com> wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>Actually, to get call duration, you need to use ACK and BYE (both
should
>>>>>have status 200).
>>>>>INVITE sends an request to other party to initiate a call.
>>>>>Other party send ACK with status 200 to receive the call.
>>>>>
>>>>>Original Message:
>>>>>-----------------
>>>>>From: Charles Wang lazy.charles(a)gmail.com
>>>>>Date: Thu, 28 Apr 2005 02:49:42 +0800
>>>>>To: serusers(a)lists.iptel.org
>>>>>Subject: [Serusers] HELP: how to get correct call duration??
>>>>>
>>>>>
>>>>>Hi, ALL:
>>>>>
>>>>>I know ser can insert INVITE & BYE records to acc table.
>>>>>Maybe the timestamp of BYE record is correct but the timestamp
>>>>>of INVITE is not equal to the call start(after the callee answered).
>>>>>Is there any method to generate a record with timestamp when the
callee
>>>>>answer?
>>>>>I think that it should be the callee responses "200 OK"
after "100 Trying".
>>>>>How to do it???
>>>>>
>>>>>--
>>>>>
>>>>>Best Regards
>>>>>Charles
>>>>>
>>>>>_______________________________________________
>>>>>
>>>>>