Модульность - простота подключения новой функциональности
Абстрактность - все модули используют единые абстрактные интерфейсы и взаимодействуют без знания технологий
новой функциональности • Абстрактность - все модули используют единые абстрактные интерфейсы и взаимодействуют без знания технологий и Гончаровский Игорь Архитектура Asterisk
ast_do_masquarade(): /* XXX This operation is a bit odd. We're essentially putting the guts of * the clone channel into the original channel. Start by killing off the * original channel's backend. While the features are nice, which is the * reason we're keeping it, it's still awesomely weird. XXX */
код, охватывающий большой объем подситем • Сложности при работе с AMI • Возможные блокировки • Любое изменени может сломать: ◦ Пакрковки ◦ Переводы вызова ◦ Прослушивание ◦ и т.п.
Замена masquarading • Затрачено 10 человеко/лет • Bridge только отслеживает состояние каналов • Стратегия микширования - отдельный мараметр • Встроенные функции для перевода вызова • AMI события BridgeEnter, BridgeLeave
результат: • Отказ от masquarading • Замена для MeetMe • Замена для chan_agent • Шина Stasis (AMI/CEL/CDR) • ARI • Уменьшение количества блокировок • Улучшения в логике Local каналов
1024 byte limitation in AGI for request size • 255 символов на строку • 3Кб на запись CDR • 10 параллельных запросов CURL • Синтаксис диалплана ◦ ExecIf($[1 = 0]?NoOp(${CURL(http://rocket-launch)})) и т.п.