[asterisk-dev] [Code Review] Gently reduce masquerade insanity

Matthew Jordan mjordan at digium.com
Tue Jan 8 08:34:22 CST 2013

On 01/08/2013 02:40 AM, Olle E. Johansson wrote:
> 7 jan 2013 kl. 21:04 skrev "David Lee" <reviewboard at asterisk.org
> <mailto:reviewboard at asterisk.org>>:
>> In addition to swapping the names of the channels, also swap their
>>    uniqueid's. This allows the 'Uniqueid' field to be used as a stable
>>    identifier for a channel from and external interface, such as AMI.
> This will break a lot of existing 3rd party software that has managed to
> work around the insane
> amount of messages and stuff that happens during the masq. I agree we
> need to make it
> simple but after changing AMI a while ago I also see what kind of
> feedback you will get
> if you change this.
> I agree it's the right way forward, but you might want to make it optional.
> /O

I think we are going to break some third party software in Asterisk 12.
Given the problems we're trying to address, this is going to be
unavoidable. In particular, fixing our APIs such that they do not expose
internal implementation details (hi Masquerades!) is by definition going
to change the behaviour of those APIs, such that people who have been
working around the 'weird' behaviour break. The fact that part of the
API work requires changes to core behaviour in Asterisk only makes the
breaking more inevitable.

I agree that this is a tough pill to swallow, and will make upgrading to
Asterisk 12 a big jump for anyone. Hopefully, the benefits of having
sane APIs (and more stable, since they no longer are a simple reflection
of the internal workings of Asterisk) is a big enough draw to make
people want to upgrade.

On that same vein, this does mean that we *have* to document our APIs
thoroughly. Most people I've talked to were more upset by lack of
notification of past changes rather than the behaviour changes
themselves. With good documentation, examples, and behaviour that 'makes
sense', we'll hopefully mitigate the worst of the pain.


Matthew Jordan
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org

More information about the asterisk-dev mailing list