[OpenSIPS-Users] Call Pickup Feature

Jorge Ortea darham at hotmail.com
Tue Dec 17 21:03:53 CET 2013


Duane, you understood perfectly. This is exactly that I need.
I had already thought in dialog module, I manage transfers with this method. But I thought that this works only when the dialog is established and no before.
I'll try it and tell you.
Very thanks.Regards.

Date: Mon, 16 Dec 2013 21:26:19 -0600
From: duane.larson at gmail.com
To: users at lists.opensips.org
Subject: Re: [OpenSIPS-Users] Call Pickup Feature

I think there might be a little confusion here and a language barrier. áIf I am understanding Jorge correctly I think he is stating that OpenSIPS is load balancing between many Asterisk servers. áOpenSIPS can do the Call Pickup feature as can Asterisk. áI think the issue is that if OpenSIPS is doing Load balancing and UAC1 is ringing and UAC2 wants to "Call Pickup" that call then OpenSIPS needs to route UAC2's request to the same Asterisk server that UAC1 was called on.

Hope I understood Jorge correctly. áIf I did then you would need to work with "get_dialog_info" function from the Dialog Module (http://www.opensips.org/html/docs/modules/1.10.x/dialog.html#id295324)

So you would need to do something like this








á á á ááif ( get_dialog_info("host","$var(x)","caller","$fU") || get_dialog_info("host","$var(x)","caller","$rU") ) {

á á á á á á á á #route to host $var(x)

á á á á á á á á $du = "sip:" + $rU + "@" + $var(x) + ":5060";

á á á á á á á á if ( !match_dialog() )

á á á á á á á á {

á á á á á á á á á á á á create_dialog();

á á á á á á á á }

á á á á á á á á $dlg_val(host) = $du;

á á á á }áelse if ( get_dialog_info("host","$var(x)","caller","$rU") || get_dialog_info("host","$var(x)","caller","$fU") ) {

á á á á á á á áá#route to host $var(x)
á á á á á á á áá$du = "sip:" + $rU + "@" + $var(x) + ":5060";
á á á á á á á ááif ( !match_dialog() )

á á á á á á á áá{
á á á á á á á á á á á áácreate_dialog();
á á á á á á á áá}
á á á á á á á á $dlg_val(host) = $du;
á á á áá} else {












á á á á á á á á if ( !match_dialog() )

á á á á á á á á {

á á á á á á á á á á á á create_dialog();

á á á á á á á á }

á á á á á á á á $dlg_val(caller) = $fU;

á á á á á á á á $dlg_val(callee) = $rU;
á á á á }





You will need to somehow make this work for your setup but hopefully this shows you what you are looking for.



On Mon, Dec 16, 2013 at 7:31 PM, Jeff Pyle <jpyle at fidelityvoice.com> wrote:

Jorge,
This is a function of Asterisk, not Opensips. áThis page may help you:
ááhttp://www.voztovoice.org/?q=node/350


- Jeff



On Mon, Dec 16, 2013 at 7:00 PM, Jorge Ortea <darham at hotmail.com> wrote:





Hi all,
Suppose a platform with OpenSIPS and several Asterisk behind. A new call in a Asterisk that send to Opensips to route to uac1. The uac1 is ringing, it is sending 180 Ringing, then from other uac wants CallPickup this call, this feature is dialed but when the Invite reach to OpenSIPS,,, How I can know that Asterisk is the call?



Very Thanks.Regards. 		 	   		  

_______________________________________________

Users mailing list

Users at lists.opensips.org

http://lists.opensips.org/cgi-bin/mailman/listinfo/users





_______________________________________________

Users mailing list

Users at lists.opensips.org

http://lists.opensips.org/cgi-bin/mailman/listinfo/users




-- 
--
*--*--*--*--*--*
Duane
*--*--*--*--*--*
--


_______________________________________________
Users mailing list
Users at lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20131217/1de48abc/attachment-0001.htm>


More information about the Users mailing list