Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Database Information

In openUC / sipXecs 4.6 and prior all CDR information is stored in Postgres.

Additional Information

Configuring Call Detail Records: Configuring Call Detail Recording (CDR)

Web Services for CDR Records: Call Detail Records Web Service

Some more good information:  CDR Extras

Postgres Row Breakdown

Here is a breakdown of the rows:

1.  call_id               This is a unique identifier for each call, should be used to filter out duplicates records from the csv file

2. from_tag            A system identifier

3. to_tag                A system identifier

4. caller_aor           This is the call originator

5. callee_aor          This is the terminating number

6. start_time           This is the time the caller initiated the use of a system resource for a call

7. connect_time      This is the actual time the caller and callee were connected

8. termination         This is whether or not the call was completed (Calls with “F” can be ignored)

9. failure_status      This is the error code for a failed call

10. failure_reason    This is the reason the call failed

11. call_direction     Direction of the call

12. reference          Unknown

13. caller contact    Extension and IP address of the originator

14. callee_contact  Extension and IP address of the called number

15. caller_internal   Internal or external call

16. callee_route     Route(s) the call used

 

CDRS Table

Here is the description of the cdrs table in the postgres data base:

 

                                        Table "public.cdrs"

     Column      |            Type             |                     Modifiers                    

-----------------+-----------------------------+---------------------------------------------------

 id              | bigint                      | not null default nextval('cdrs_id_seq'::regclass)

 call_id         | text                        | not null

 from_tag        | text                        | not null

 to_tag          | text                        | not null

 caller_aor      | text                        | not null

 callee_aor      | text                        | not null

 start_time      | timestamp without time zone |

 connect_time    | timestamp without time zone |

 end_time        | timestamp without time zone |

 termination     | character(1)                |

 failure_status  | smallint                    |

 failure_reason  | text                        |

 call_direction  | character(1)                |

 reference       | text                        |

 caller_contact  | text                        |

 callee_contact  | text                        |

 caller_internal | boolean                     |

 callee_route    | text                        |

 

Example:

SIPXCDR=# select * from view_cdrs;

 id  |                   caller_aor                    |                  callee_aor                   |       start_time        |      connect_time       |        end_time         |   duration   | termination | failure_status |        failure_reason         | call_direction

-----+-------------------------------------------------+-----------------------------------------------+-------------------------+-------------------------+-------------------------+--------------+-------------+----------------+-------------------------------+----------------

   1 | "Test User" <sip:2949@sipx.sipfoundry.org>       | <sip:2900@sipx.sipfoundry.org;user=phone>               | 2011-05-03 19:22:14.154 | 2011-05-03 19:22:23.356 | 2011-05-03 19:22:25.342 | 00:00:01.986 | C           |                  |                                     |

   2 | "R SHEMEL CT 256" <sip:3900@CTAUDCD1>   | <sip:2900@10.10.10.1;user=phone>                            | 2011-05-03 19:32:43.78  | 2011-05-03 19:32:56.515 | 2011-05-03 19:33:04.956 | 00:00:08.441 | C           |                  |                                      |

   3 | "Test User" <sip:2949@sipx.sipfoundry.org>       | <sip:919703106641@sipx.sipfoundry.org;user=phone>  | 2011-05-03 19:36:24.123 |                                     | 2011-05-03 19:36:24.202 |                     | F           |            404 | Not Found                     |

   4 | "Test User" <sip:2949@sipx.sipfoundry.org>       | <sip:93038347175@sipx.sipfoundry.org;user=phone>   | 2011-05-03 19:36:15.664 |                                      | 2011-05-03 19:36:15.709 |                    | F           |            404 | Not Found                     |

   5 | "Test User" <sip:2949@sipx.sipfoundry.org>       | <sip:919703106641@sipx.sipfoundry.org;user=phone>  | 2011-05-03 19:39:40.689 |                                     | 2011-05-03 19:39:40.919 |                    | F           |            403 | Forbidden                     |

...

Call State Events Table

Column event_type holds the event type sent
R - Call Request
T - Transfer call Event
S - Call Established Event
F - Call failed event
E - Normal End Call event

Below is an example with call_state_events table entries  given from_url and to_url values. These applies when we try to place a call  using a 3PCC

Example: 
when from = user1, to = user1 status=R we know that user1 phone is ringing
when from = user1, to = user1 status=S we know that user1 picked up the phone
when from = user1, to = user2 status=R we know that user2 phone started ringing
when from = user1, to = user2 status=S we know that user2 answered the phone

Failure situations:
when from = user1, to = user1, status=F we know that user1 rejected the call
when from = user1, to = user2, status=E we know that user2 rejected the call (if there is no call established event (S) before, we know that user2 never answered the call and rejected it instead)
(If there is an (S) status event before, then user2 normally ended the call)

 

 

  • No labels