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.
- 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].
- 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.
- 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