[Kamailio-Users] re-invite mid call?

Daniel-Constantin Mierla miconda at gmail.com
Sat Jan 2 11:23:59 CET 2010


Hello,

On 1/1/10 6:24 PM, Antonio Goméz Soto wrote:
> Op 01-01-10 17:54, Alex Balashov schreef:
> [ .. ]
>>
>> The question you are asking is a technical one, but the answer is really
>> philosophical and conceptual one (i.e. in terms of how RFC 3261 defines
>> various types of SIP elements). Is it theoretically possible to add some
>> hacks to a SIP proxy to make it behave as something other than a proxy
>> by spoofing messages in a convincing way? Yes, it is - with enough
>> ambition; in fact, Kamailio has a number of such hacks internally, such
>> as the dialog module's timeout attribute which can spoof a BYE in both
>> directions after a certain amount of time has passed. But that's what
>> they are - hacks. Useful, perhaps, but they are departures from what a
>> proxy is supposed to do that break proxy purity.
>>
>
> Ok, i see what you mean.
>
>> So, yes, you could hack the source to inject messages asynchronously.
>> But when you do that, you no longer have a proxy, but something else, so
>> it really comes down to (a) what you want and (b) what the product is
>> intended to be. At the moment - several clever hacks notwithstanding,
>> and some UAS functionality (e.g. registrar) notwithstanding as well -
>> it's a proxy. As long as the intent of the product is to continue to be
>> a proxy, it is largely limited to the sort of things a proxy can do,
>> formally speaking.
>>
>
> And do you think the Kamailio maintainers oppose extending the
> functionality in this direction?

about any kind of extensions to kamailio -- nobody will oppose as long 
as there is a developer doing it (old or new) and committing to maintain 
the new code -- the project is open to new enhancements all the time. It 
has to be a module, so the rest is not affected.

However, as Alex said, kamailio is designed to be proxy and this does 
the best. You may discover that you have to invest a lot in a new module 
to get complete user agent client behavior while you can get it faster 
with other applications. If I would be you, I would go with SEMS, with 
few tens of line you should get what you want, here some examples:
http://ftp.iptel.org/pub/sems/doc/current/AppDocExample.html

SEMS is designed for this scope, is lightweight comparing with other sip 
media apps, it is SIP only (therefore it avoids multi-protocol complexity).

But decision is not simple, if you need to catch the call for 
transcoding, then it better to do it with the apps able to do 
transcoding for g729 Asterisk might be the only chance -- not sure if 
SEMS can do it due to licensing.

For call recording, if you do the re-INVITE in the middle of the call, 
then you advertised it to caller and callee, so practically they can 
detect it, which does not help much if it is for legal purposes. So you 
should do it from beginning with a media server in the middle.

 From my point of view, the architecture should be:
- several media servers - you need them when having lot of users, not 
matter you do recording or transcoding
- kamailio to handle registration, call routing and other proxy 
features, plus load balancing between media server instances

Then you can scale as you need by adding new media servers.

Cheers,
Daniel

>
>> To do the kinds of things you're wanting to do in a way that is
>> accommodated by the specifications and the protocol mechanics of SIP,
>> what you're really looking for is something that can behave as a user
>> agent in its own right.
>>
>
> Any suggestions (given the fact that it needs to accomodate a couple
> of ten thousands of phones?)
>
> Antonio
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>

-- 
Daniel-Constantin Mierla
* http://www.asipto.com/





More information about the sr-users mailing list