IVR to extrnal number CDR issue

Status
Not open for further replies.

Mikeme

Member
Apr 26, 2021
186
4
18
39
Hi friends,
i'm having a problem with CDR when set one of the digits to external number.
once call get in to IVR and customer choose 5 the call going out to external number.

the point is that; this out going call are showed in CDR at the same record of the incoming call which answered by IVR
how can i make a new record for this "Call forward"
i believe that can be done on external number dialplain.
attached dialplan example to dial out.

at the end of the day, i wish to have 2 CDR records, one of the incoming call which answered by IVR and second is the outgoing call of the external number..
 

Attachments

  • Screenshot from 2021-08-24 12-05-29.png
    Screenshot from 2021-08-24 12-05-29.png
    49.8 KB · Views: 22

demonspork

New Member
May 30, 2018
20
1
3
34
You may be looking for b-leg CDR records. There are settings in the default settings for importing b legs, but you also have to enable them in the freeswitch autoload_config xml_cdr.conf.xml
Code:
 <param name="log-b-leg" value="true"/>
to create them in the first place.

It also has implications that increase your CDR database size because many of your calls will now have 2 entries in the CDR. They may also be invisible by default, I think it's a permission to view the b-leg CDRs.
 

Mikeme

Member
Apr 26, 2021
186
4
18
39
You may be looking for b-leg CDR records. There are settings in the default settings for importing b legs, but you also have to enable them in the freeswitch autoload_config xml_cdr.conf.xml
Code:
 <param name="log-b-leg" value="true"/>
to create them in the first place.

It also has implications that increase your CDR database size because many of your calls will now have 2 entries in the CDR. They may also be invisible by default, I think it's a permission to view the b-leg CDRs.
all done.
set log-b-leg to "true" at xml_cdr.conf.xml
and set b-leb (local, outbound, inbound) to true in Default Settings.

unfortunately call still show one row record..
i also "reload XML".

do i miss anything?
 

Mikeme

Member
Apr 26, 2021
186
4
18
39
and also Permissions allow for b-leg...
looking in database, calls are with a-leg, nothing with b-leg
 

mingus

Member
Mar 23, 2018
43
7
8
53
The easiest method would be to add a new extension, click on "Call Routing" from the extension form, enable "Call Forward", and enter the destination number in the appropriate field. Then add this extension number to your IVR.
 

Mikeme

Member
Apr 26, 2021
186
4
18
39
well, to be more specific, the external dialplan number is transferred from ring group.

the flow -
call get into IVR -> transfer to ring group -> external dialplan number.

i did test it with new extension which is dedicate to call forward.

when putting the CFD extension in IVR I'm able to get two rows of calls with correct billsec.
when putting the CFD extension in ring group I'm able not able to see 2 rows.

so, right now the issue is when call transferred from ring group to the CFD extension.
 

mingus

Member
Mar 23, 2018
43
7
8
53
Make sure you set the ring group strategy to, "Enterprise", otherwise it will not execute the call forwarding or Follow-Me routes.
 

Mikeme

Member
Apr 26, 2021
186
4
18
39
Make sure you set the ring group strategy to, "Enterprise", otherwise it will not execute the call forwarding or Follow-Me routes.
the call forward working fine.
the only thing i need is to separate between calls(inbound and outbound of the CFD) by a/b-leg in CDR records.
 

NVGcom

Member
Apr 29, 2020
41
4
8
48
Hi,

It is a normal call flow - Inbound to Outbound, so it will show as such.
I have a contractor that has some customers that are statistics obsessed; how many calls ended in specific queue from specific numbers; calls answered by follow me and so on, so I pulled that from v_xml_cdr table.
You can use SQL Editor (if you have it installed) and do
Code:
copy (select * from v_xml_cdr where direction = 'outbound' and destination_number = 'your_outbound_followme_number') to '/tmp/something.csv';
alternatively you could add
Code:
and leg = 'b-leg'
and/or or
Code:
 and where domain_name = 'customer_domain'
Or even
Code:
delimiter ',' csv header'
if you want better looking csv file. If you do not have SQL Editor, run the
Code:
psql --host=127.0.0.1 --username=fusionpbx -c "copy string"
To get the Postgres password run
Code:
cat /etc/fusionpbx/config.conf | grep password
Note: it was config.php before.
You can always play around with columns to get desired specific information.
 
Status
Not open for further replies.