[OpenSIPS-Users] Transfer issue

Jeff Kronlage jeff at data102.com
Sat Oct 24 01:51:50 CEST 2009


I follow this, but -and please correct me where I'm misunderstanding- isn't the point of using a Proxy versus a B2BUA is that it's more lightweight and scalable?  It seems with this setup every call ends up routed through Asterisk on the initial INVITE, simply so that when a REFER potentially comes later in the dialog, it can handle it.  Our setup has been initially engineered for thousands of concurrent calls, and we're hoping to avoid having a dozen Asterisk machines :)

Our goal is to design something like:

UA <--> Opensips <--> Our PSTN gateways

That could dynamically turn into, on the fly:

UA <--> Opensips <--> B2BUA <--> Our PSTN Gateway

We haven't found a clean way of doing this, unfortunately...  It may just end up being a hack on Opensips 1.6 if that might work.

Jeff

-----Original Message-----
From: users-bounces at lists.opensips.org [mailto:users-bounces at lists.opensips.org] On Behalf Of Iñaki Baz Castillo
Sent: Friday, October 23, 2009 5:38 PM
To: users at lists.opensips.org
Subject: Re: [OpenSIPS-Users] Transfer issue

El Sábado, 24 de Octubre de 2009, Jeff Kronlage escribió:
> The suggestion is to use Asterisk 'behind' Opensips, transferring calls
> to it only when a B2BUA is necessary?

Not exactly, see below.

 
> I certainly understand not wanting to post a config, but can anyone
> share a general idea of how this is accomplished?  I'm having a hard
> time picturing how to send Asterisk an out-of-context REFER,

Why "out-of-context" REFER??

> while Opensips 'held' the call up to that point.  Perhaps I'm over-thinking
> it.


- user1 sends an INVITE to OpenSIPS with RURI "sip:user2 at domain".

- OpenSIPS doesn do a lookup, instead it routes the INVITE to Asterisk 
*without* changing the RURI username (user2).

- Asterisk receives a call from peer [opensips] to exten "user2".

- Asterisk ejecutes "Dial" and generates an INVITE with RURI "user2" and sends 
it to OpenSIPS.

- OpenSIPS receives the INVITE and, since it comes from Asterisk, now it 
*does* the lookup so retrieves the location(s) of user2, and sends there the 
INVITE.

- So now we have 2 calls:
  - user1 speaking with Asterisk (through OpenSIPS).
  - Asterisk speaking with user2 (through OpenSIPS).

- Now user1 wants to transfer the call to user3 so it sends an in-dialog REFER 
(with "Refer-To: sip:user3 at domain") to Asterisk.

- Asterisk accepts it and generates an INVITE to "user3" sending it to 
OpenSIPS.

- OpenSIPS does the loockup for user3 and routes there the new INVITE from 
Asterisk.

- etc etc etc... and the transference (blink or attended is performed as 
usual).


Does it help you?


-- 
Iñaki Baz Castillo <ibc at aliax.net>

_______________________________________________
Users mailing list
Users at lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



More information about the Users mailing list