Для второй версии AMI (AMIv2), который в Asterisk 12, явно указано, что «AMI is an ASCII protocol».
Стало быть, это значит, что AMI можно и нужно обрабатывать, как ASCII?
Для первой версии AMI (во всяком случае, для AMI 1.1) никаких конкретных указаний, что это именно ASCII, не нашел.
Почему я спрашиваю? Дело в том, что уже больше года мой демон интерпретирует AMI как строки в UTF-8, и пока проблем нет.
Более того, в полных логах AMI было выяснено, что там действительно пересылаются в некоторых полях не-ASCII символы, например
AppData: SMS_MOD=Я пытался(лась) Вам дозвониться
Я не уверен, правильное ли это поведение и использование AMI?
Может, действительно надо воспринимать строки в AMI как ASCII-строки, а уже отдельные поля (в случае необходимости) интерпретировать как UTF-8 строки?
При переходе с UTF-8 на ASCII значительно упадет нагрузка клиента AMI, которому приходится перемалывать много данных.
UPD: речь идет о самописном клиенте AMI на плюсах.