[Freeswitch-users] Forked dialing and CDRs
Rupa Schomaker (lists)
freeswitch-users at lists.rupa.com
Tue Aug 5 08:25:45 PDT 2008
I'm using XML CDRs, posting to a rails app to capture and display CDR
records.
Incoming calls are forked to both internal extensions and external cell
phones. The mapping is looked up in the DB via a javascript call which
hands back a dialstring similar to:
2008-08-05 10:09:21 [INFO] mod_dptools.c:862 log_function()
dial_string={ignore_early_media=true}sofia/internal/101%192.168.1.20,sofia/internal/102%192.168.1.20,sofia/loopback/CELL%192.168.1.20:5061
The sofia/internal/##%domain works as expected. I get one CDR with
everything stacked up in the XML.
The sofia/loopback/##@domain:5061 generates a new CDR. This is expected
but is a pain in the rear since it means that I have to cross-correlated
log entries to show the one that one the race and suppress/roll up the
rest.
Ok, so why don't I do:
sofia/gateway/mygateway/cellnumber%domain ?
Because I want to do other work before dialing out the gateway and to
centralize the work done for that dialout. Specifically, I do real-time
rating to determine which actual gateway to route the call through and
also handle failover if a particular gateway doesn't terminate the call
with an expected error code.
There is a level of abstraction missing here I think.
The transfer application does exactly what I want to do. I give it a
context and a # and it routes the call as expected. But transfer can't
handle forked dialing. For that I need bridge.
The bridge application can fork but requires too much knowledge about
the transport/gateway/etc.
Thoughts?
More information about the FreeSWITCH-users
mailing list