[Freeswitch-users] How to get call uuid from b-leg and insert to pgsql

Marcel Haldemann marcel.haldemann at convercom.ch
Tue Jul 9 13:12:51 UTC 2019

Short answer: use the “originator” variable on outbound calls and the “uuid” variable on inbound calls.

Long Answer:

As Brain said, it’s the best to make a small program (I use C# .Net Core for that purpose) that parses the XML-CDR File.
For the Call-Identification I use:

                if (IsOutbound())
                    SessionId = GetGuidValue(vars, "originator");
                    SessionId = GetGuidValue(vars, "uuid");

So I use the “originator” variable if it is outbound (the direction), and the “uuid” variable else. I call this “session_id” in the Postgres-Database.
This is always the same on the inbound call and on all outbound calls originated by the same inbound call, this has proven to be unique.

PS: I use different tables for inbound and outbound cdrs. The outbound cdr has less rows.

Von: FreeSWITCH-users <freeswitch-users-bounces at lists.freeswitch.org> Im Auftrag von Brian West
Gesendet: Dienstag, 9. Juli 2019 14:33
An: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
Betreff: Re: [Freeswitch-users] How to get call uuid from b-leg and insert to pgsql

Your best bet is to use XML CDR and post process it.

On Tue, Jul 9, 2019 at 4:45 AM 王聡 <cong.wang.itsherpa at gmail.com<mailto:cong.wang.itsherpa at gmail.com>> wrote:
Hi all,

I’m trying to manage cdr in pgsql by mod_cdr_pg_csv, and I hope to record a call uuid to manage multiple recorded channels in one call.

A channel variable “variable_call_uuid” seems good to record, and I confirmed it is the correct call uuid in fs_cli by:

freeswitch at TEST-FS> uuid_getvar 67534e60-fc91-4e6b-b64e-868d5f3d8b16 call_uuid

freeswitch at TEST-FS> uuid_getvar 2ab39a17-2f8d-4ac1-81de-b32a990e55c1 call_uuid

However, when I tried to record this variable into pgsql, it turned into channels uuid in pgsql.
The followings had added into cdr_pg_csv.conf.xml:

    <field var="call_uuid”/>

But pgsql record showed:

SELECT call_uuid FROM cdr where uuid = '67534e60-fc91-4e6b-b64e-868d5f3d8b16’;
> 67534e60-fc91-4e6b-b64e-868d5f3d8b16

SELECT call_uuid FROM cdr where uuid = '2ab39a17-2f8d-4ac1-81de-b32a990e55c1’;
> 2ab39a17-2f8d-4ac1-81de-b32a990e55c1 # Which should be 67534e60-fc91-4e6b-b64e-868d5f3d8b16

Any idea or advice on this issue?


The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
Build your next product on our scalable cloud platform.

Join our online community to chat in real time https://signalwire.community

Professional FreeSWITCH Services
sales at freeswitch.com<mailto:sales at freeswitch.com>

Official FreeSWITCH Sites

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto:FreeSWITCH-users at lists.freeswitch.org>


Brian West | Co-founder and Developer

Need Commercial support? email sales at freeswitch.com<mailto:sales at freeswitch.com>

FreeSWITCH Solutions | 17345 Civic Drive #2531 Brookfield, WI 53045<https://maps.google.com/?q=17345+Civic+Drive+%232531+Brookfield,+WI+53045&entry=gmail&source=g>

Email: brian at freeswitch.com<mailto:brian at freeswitch.com>

Mobile: 918-424-9378

Website: https://www.FreeSWITCH.com<https://www.freeswitch.com/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20190709/228ebda2/attachment-0001.html>

More information about the FreeSWITCH-users mailing list