[Freeswitch-users] event BACKGROUND too late in ORIGINATE scenario?
UV
uv at talknet.com.au
Mon Apr 14 08:39:55 PDT 2008
We're busy integrating a heavy-duty call-control engine on top of the
Freeswitch and I'm not sure if what's happening is by design or a bug:
When originating a call via the "bgapi originate" call (mod_commands) the
BACKGROUND event invoked only AFTER the call successfully terminated
(answered/rejected).
Because only the BACKGROUND event has the correlation between the JOB-UUID
of the BGAPI command and the UNIQUE-ID, it's impossible to intercept all the
events until that point (create, outgoing, ring, codec-exchange, etc).
This becomes a real problem when originating multiple calls in a short time.
It's impossible to distinguish which event belongs to which origination
request. Resorting to pull that info from the DB or through SHOW CHANNELS
might still cost missing few events.
Anyone has any ideas on how to track an ORIGINATE call setup flow?
Here's an extract from the log (just took the relevant parts):
bgapi originate sofia/default/1001 &park
Reply-Text: +OK Job-UUID: <UUID-A>
Channel-State: CS_NEW
Unique-ID: <UUID-B>
Event-Name: CHANNEL_CREATE
Channel-State: CS_INIT
Unique-ID: <UUID-B>
Event-Name: CHANNEL_OUTGOING
Channel-State: CS_INIT
Unique-ID: <UUID-B>
Event-Name: CHANNEL_ORIGINATE
Channel-State: CS_INIT
Unique-ID: <UUID-B>
Event-Name: CHANNEL_STATE
Channel-State: CS_RING
Unique-ID: <UUID-B>
Event-Name: PRESENCE_IN
Channel-State: CS_RING
Unique-ID: <UUID-B>
Event-Name: CHANNEL_STATE
Channel-State: CS_HOLD
Unique-ID: <UUID-B>
Event-Name: PRESENCE_IN
Channel-State: CS_HOLD
Unique-ID: <UUID-B>
Event-Name: CHANNEL_STATE
Channel-State: CS_HOLD
Unique-ID: <UUID-B>
Event-Name: CODEC
Channel-State: CS_HOLD
Unique-ID: <UUID-B>
Event-Name: CODEC
Channel-State: CS_HOLD
Unique-ID: <UUID-B>
Event-Name: CHANNEL_ANSWER
API-Command: originate
Event-Name: API
Job-UUID: <UUID-A>
Job-Command: originate
Event-Name: BACKGROUND_JOB
+OK <UUID-B>
Channel-State: CS_EXECUTE
Unique-ID: <UUID-B>
Event-Name: PRESENCE_IN
Channel-State: CS_EXECUTE
Unique-ID: <UUID-B>
Event-Name: CHANNEL_STATE
Thanks,
UV
No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.519 / Virus Database: 269.22.12 - Release Date: 10-Apr-08 12:00
AM
More information about the FreeSWITCH-users
mailing list