Alex,
thank you for your thorough answers.
Op 28-12-09 17:07, Alex Balashov schreef:
On 12/28/2009 10:54 AM, Antonio Goméz Soto wrote:
- I could not find a way to reboot a phone
remotely, can it send
SIP NOTIFY to all phones?
Yes. See the cisco_restart() function in the 'kamctl' script. It uses
the MI interface to generate a request:
http://www.kamailio.org/docs/modules/1.5.x/tm.html#id2531975
Please note that although Kamailio does provide this, this goes beyond
the realm of what a proxy is supposed to be able to do. Officially, a
proxy is an event-driven state machine; it only forwards requests and
replies it receives that are generated by other endpoints.
I have noticed that some phones only accept SIP NOTIFY from the registrar
server, and some request authentication, and accept them from the same
port that the register replies came from, or use SIP transaction numbers.
This would make it mandatory for the register server to send them.
- does it have
something like the Asterisk Manager Interface,
so I can connect/create an operator panel for it? Does that
already exist somewhere? Something like FOP where operators can
transfer calls, and check availability?
It does have a management interface, but it cannot do all that you're
asking. Keep in mind that Kamailio/OpenSER is not really a logical
endpoint for calls, except in the case of some exceptions where SIP UAS
functionality is provided, as in the registrar and the presence user
agent, for example. It is not a user agent, so it cannot actually
"transfer" anything[1].
Okay, that is clear.
- according to the docs it is not a BTBUA. What
does this mean?
I know that asterisk is a BTBUA, but what can a BTBUA do that a
SIP proxy cannot? Is it only the moh and conferences?
A B2BUA is a client user agent (UAC) on one side and a server user agent
(UAS) on the other side. It can generate new logical call legs, connect
call legs, and, usually asynchronously initiate requests. A proxy, in
contrast, receives logical call leg A in and sends the same logical call
leg B to the next destination; the attributes of the call leg that it is
allowed to change in either requests or replies are quite limited,
compared to a B2BUA, which, by virtue of generating a new leg and
cross-connecting the two, can put whatever it wants in the second one,
reinterpret / mangle feedback more extensively, etc.
More generally, outside the realm of protocol mechanics, I think it is
important that you understand that Kamailio doesn't really provide
"application-level" functionality. To do that, it would have to be able
to answer calls itself, which it cannot do. It is not appropriate to
compare it to Asterisk; it is not a PBX or anything like that. There is
no analogy between them. So, all discussion of MOH and conferences is
irrelevant; the absence of support for them is not simply the result of
feature set limitations, but rather conceptual incompatibility with the
sort of thing that Kamailio is.
I am not at all trying to compare asterisk to kamailio, just trying to find
out what each is intended to do, in words and concepts that are familiar to
me.
So this means, that if I put kamailio as a frontend to my current asterisk
setup, and most calls run outside asterisk, that the operator will not be
able to for example break into an already existing conversation?
Or pull two established channels away from each other and forcibly redirect
them to a conference box?
Will the asterisk queue app be able to work with phones that are
registered to kamailio?
I am sorry, I am so full of questions.
Antonio.
- lastly, is
there a good tutorial on load-balancing somewhere?
Google the list archives for references to the "dispatcher" module.
-- Alex
[1] Though the dialog module does, as of 1.5.x,
provide an interesting
hack:
http://www.kamailio.org/docs/modules/1.5.x/dialog.html#id2532224