[Kamailio-Users] Newbie questions
Alex Balashov
abalashov at evaristesys.com
Mon Dec 28 20:17:29 CET 2009
On 12/28/2009 01:50 PM, Antonio Goméz Soto wrote:
> Hm, now I am getting a bit worried. Scaling up my asterisk setup using
> OpenSER will definitely not be as easy as I thought...
>
> So what parts can be done by openser itself? Can it do:
>
> - Attended transfer?
No. It is not an endpoint.
> - Call Pickup? Directed?
No. It is not an endpoint.
> - Call recording (mid call)
No, it is not an endpoint, although it can trigger external media proxy
processes via APIs / control sockets (mediaproxy, rtpproxy) that can
perform this functionality.
> - Listening-in (Training)
No.
> Also, asterisk has long had serious problems with showing
> callerid/connected
> party after attended transfer, blind forward or call pickup. Does
> OpenSER have
> those problems too? Does it support P-Asserted-Id or Connected Party?
OpenSER does not inherently support or not support a header; it has
nothing to do with them except to pass them along in a request. It can
attach them, and it can read their values if they are present and act on
them in some user-defined way; this is true of any such header.
> If a lot of calls need one of the above features, then using kamailio
> does not scale up my asterisk-based PBX too much, does it?
OpenSER cannot augment, extend or implement any of the PBX-like features
you're looking for; that is simply not what it does. SIP messages
enter OpenSER and they leave it, the effect of which is to intervene in
and direct the establishment of calls to various destinations.
It is fundamentally a network element inside a VoIP service delivery
platform, not an application server, PBX, feature server, or other type
of call endpoint. It's a rather low-level piece of infrastructure.
I think you may have misunderstood what it is people mean when they say
that they use OpenSER to help horizontally scale their use of Asterisk
out. The role is a complementary one, not a substitute. For example, a
typical design for application or service delivery using Asterisk +
OpenSER involves multiple Asterisk servers that behave identically when
they receive an inbound call, regardless of which server the call came
into. This is typically done using some sort of database that keeps
shared state, and most likely a central point of logic deployment, such
as a FastAGI controller. In this type of situation, as an example, an
OpenSER-based load balancer in front of this farm of servers to
round-robin among them or do other intelligent call distribution can be
used to great effect.
But Asterisk (or whatever backend) must still provide the fundamental
functionality.
Think of Kamailio the same way you would think of a Layer 3 IP router.
What you are proposing is analogous to saying that a router can be used
to scale an HTTP web server / web site operation. A router cannot
inherently do that, but it can assist in doing so as an element of a web
server and network topology that makes that possible.
-- Alex
--
Alex Balashov - Principal
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
More information about the sr-users
mailing list