[Freeswitch-dev] ignore_early_media and mod_conference two different cases

Szymon Olko solko at gcdf.pl
Thu May 21 08:00:55 PDT 2009


Hi,

I made scenario in which I originate call and put it to conference. I use events to check if call was answered or not. I do it all
with "ignore_early_media" set to false, so I can record/hear what remote leg is saying, this way call center operators can help to
teach my system to recognize it automatically for next calls. I wrote that having one member in conference that I put this call
in. I use that command.

ORIGINATE {camel_command_id=4}sofia/gateway/sip.freeconet.pl/664558242 &conference(digitalvoice_call#0 at talk) '' ''  ULTIMO 429955

Call is not answered, it is rejected on phone. There is one member in conference.

I get following events scenario (I omit here not interesting events for me):
CHANNEL_CREATE
CHANNEL_OUTGOING
CHANNEL_ORIGINATE
CHANNEL_STATE
CHANNEL_STATE
CHANNEL_STATE
CHANNEL_PROGRESS_MEDIA
CHANNEL_STATE
CHANNEL_EXECUTE
CUSTOM_conference::maintenance
CHANNEL_PROGRESS
CUSTOM_conference::maintenance
CHANNEL_EXECUTE_COMPLETE
CHANNEL_HANGUP
CHANNEL_DESTROY


If I do all the same but conference is not existing (there is no member in that conference), I get following events in order:
CHANNEL_CREATE
CHANNEL_OUTGOING
CHANNEL_ORIGINATE
CHANNEL_STATE
CHANNEL_STATE
CHANNEL_STATE
CHANNEL_PROGRESS_MEDIA
CHANNEL_STATE
CHANNEL_EXECUTE
CUSTOM_conference::maintenance
CHANNEL_ANSWER
CHANNEL_PROGRESS
CUSTOM_conference::maintenance
CHANNEL_EXECUTE_COMPLETE
CHANNEL_HANGUP
CHANNEL_DESTROY

Call was not answer so there should be no CHANNEL_ANSWER event but it is there.

In other cases when I answer call I get events order:
- when there is member in conference
 CHANNEL_PROGRESS before CHANNEL_ANSWER event, time between them is the time of phone ringing.
- where there is no member in conference
 CHANNEL_PROGRESS event 4 seconds after CHANNEL_ANSWER event,

I cannot use this what I made for empty conferences. Maybe I don't understand early_media, but I would like it to work like in NOT
 EMPTY conference case.
Is there a way to make some 'virtual/local' member that will be in conference just to not be empty?

Regards
Szymon



More information about the Freeswitch-dev mailing list