Origionate a call via event_socket. relation between job_uuid and uuid
I want to do the following: Originate a call via event_socket, I get back a job_uuid. Then I want to control the call when it's established (2 call legs). Scanning the variables of the 2 call legs I currentyl cannot see any relation between the job_uuid and the uuid of the resulting call legs. I may set a variable with my own unique id while originating a call, but finding the calls later on and dumping the variables fo all channels is very time consuming in terms of CPU. A workaround I tried, is to set caller-id or caller-id-number with a unique id. This works, but has the known side effects of not having a valid caller-id or caller-id-number. So my question is: Has anybody an idea how to build a relationship between job_uuid and the resulting call legs which does not require dumping the variables of all channels? Best regards Peter
Peter P GMX pisze:
I want to do the following: Originate a call via event_socket, I get back a job_uuid. Then I want to control the call when it's established (2 call legs). Scanning the variables of the 2 call legs I currentyl cannot see any relation between the job_uuid and the uuid of the resulting call legs. I may set a variable with my own unique id while originating a call, but finding the calls later on and dumping the variables fo all channels is very time consuming in terms of CPU.
A workaround I tried, is to set caller-id or caller-id-number with a unique id. This works, but has the known side effects of not having a valid caller-id or caller-id-number.
So my question is: Has anybody an idea how to build a relationship between job_uuid and the resulting call legs which does not require dumping the variables of all channels?
I use that scenario with my own variables set to my unique id. On event_socket I parse channel related events and then I find channel with my variable, I get channel unique id and from now I use this unique id. First I tried to uses caller-id but I need it now for the reason it is for. Szymon
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Here are 3 ways: 1) subscribe to the BACKGROUND_JOB event and find the one with the same job-uuid then the body of that message is the output from your backgrounded FSAPI call which in the case of an originate will contain the uuid of the actual channel. 2) You can do as suggested and add {myvar=myval} prefix to the dialstring and look for myvar in the channel_originate event. 3) Finally you can choose the uuid in advance providing it's actually unique using: {origination_uuid=XYZ} You can use your own code to generate uuid (make sure they are unique) or ask the core to give you a new uuid with the create_uuid FSAPI call. On Wed, May 27, 2009 at 4:46 AM, Peter P GMX <Prometheus001@gmx.net> wrote:
I want to do the following: Originate a call via event_socket, I get back a job_uuid. Then I want to control the call when it's established (2 call legs). Scanning the variables of the 2 call legs I currentyl cannot see any relation between the job_uuid and the uuid of the resulting call legs. I may set a variable with my own unique id while originating a call, but finding the calls later on and dumping the variables fo all channels is very time consuming in terms of CPU.
A workaround I tried, is to set caller-id or caller-id-number with a unique id. This works, but has the known side effects of not having a valid caller-id or caller-id-number.
So my question is: Has anybody an idea how to build a relationship between job_uuid and the resulting call legs which does not require dumping the variables of all channels?
Best regards Peter
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Hello Thanks for your hints, I now added {initiator_uuid=my_uuid} prefix to the dialstring. Then I catch the channel_answer event, get this variable_initiator_uuid and pass it to the application. This works like a charm. Thanks to all. Best regards Peter Anthony Minessale schrieb:
Here are 3 ways:
1) subscribe to the BACKGROUND_JOB event and find the one with the same job-uuid then the body of that message is the output from your backgrounded FSAPI call which in the case of an originate will contain the uuid of the actual channel.
2) You can do as suggested and add {myvar=myval} prefix to the dialstring and look for myvar in the channel_originate event.
3) Finally you can choose the uuid in advance providing it's actually unique using:
{origination_uuid=XYZ}
You can use your own code to generate uuid (make sure they are unique) or ask the core to give you a new uuid with the create_uuid FSAPI call.
On Wed, May 27, 2009 at 4:46 AM, Peter P GMX <Prometheus001@gmx.net <mailto:Prometheus001@gmx.net>> wrote:
I want to do the following: Originate a call via event_socket, I get back a job_uuid. Then I want to control the call when it's established (2 call legs). Scanning the variables of the 2 call legs I currentyl cannot see any relation between the job_uuid and the uuid of the resulting call legs. I may set a variable with my own unique id while originating a call, but finding the calls later on and dumping the variables fo all channels is very time consuming in terms of CPU.
A workaround I tried, is to set caller-id or caller-id-number with a unique id. This works, but has the known side effects of not having a valid caller-id or caller-id-number.
So my question is: Has anybody an idea how to build a relationship between job_uuid and the resulting call legs which does not require dumping the variables of all channels?
Best regards Peter
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org <mailto:Freeswitch-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/
AIM: anthm MSN:anthony_minessale@hotmail.com <mailto:MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com <mailto:PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net <http://irc.freenode.net> #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <mailto:sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 <http://iax:guest@conference.freeswitch.org/888> googletalk:conf+888@conference.freeswitch.org <mailto:googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400 ------------------------------------------------------------------------
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (3)
-
Anthony Minessale
-
Peter P GMX
-
Szymon Olko