Displays clients in a conference

Good afternoon. I use the asterisk 13 and fop2 2.30.05, the problem is that when in the course of the conference room such as 6666 numbers 6000 (Супермаркет) are no longer displayed participants. The asterisk log contain the next messages:
[2016-03-21 15:59:17] ERROR[12930]: json.c:704 ast_json_vpack: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.
[2016-03-21 15:59:20] ERROR[12930]: json.c:704 ast_json_vpack: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.
[2016-03-21 15:59:22] ERROR[12930]: json.c:704 ast_json_vpack: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.
[2016-03-21 15:59:25] ERROR[12930]: json.c:704 ast_json_vpack: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.
[2016-03-21 15:59:27] ERROR[12930]: json.c:704 ast_json_vpack: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.

Comments

  • Hi,

    The error in Asterisk might be related, but it is not responsibility of FOP2 in any way. Using cyrilic on a member name seems to cause that problem *within* asterisk. As for FOP2, unfortunately the level 1 debug is not enough, I see AMI responses but not the actions sent nor the actual websocket dialog between the fop2 server and the browser, a debug level 15 would be better. And also, you might want to create a special manager user for FOP2 using event filters as described in the installation guide: http://www.fop2.com/docs/#ConfiguringtheServer

    That way the log will be smaller and more readable and easier to track.

    Best regards,
  • I create a special manager user for FOP2 and create log debug level 15. How to solve my problem ? Problem actually with Cyrillic.
  • The server sends the correct command:

    10.75.0.75:37879 => { "btn": "2@GENERAL", "cmd": "members", "data": "WyB7ICJpc21hcmtlZCI6ICJvZmYiLCAiaXNtdXRlZCI6ICJvbiIsICJpc3RhbGtpbmciOiAib2ZmIiwgImNvbmZlcmVuY2UiOiAiQ09ORkVSRU5DRS82NjY2IiwgImNoYW5uZWwiOiAiMSIsICJuYW1lIjoiNjAwMCDQodGD0L/QtdGA0LzQsNGA0LrQtdGCINCS0LDRgdC40LvRjNC10LLQIiB9IF0=", "slot": "" }

    Decoding that shows correct cyrilic. You might need to see the javascript console to see if you get any particular errors after receiving that command.
  • I create screen shot javascript console error. I bought FOP2 panel for the old server. This problem does not allow me to use fop2 panel on the new server.
  • Unfortunately it is a bug in Asterisk. I cannot fix it in FOP2, the console/error log is a hint of the problem. You can run in the asterisk CLI:

    meetme list 6666 concise

    And you will see that the name is not shown correctly (note the last ? in the name, that is an invalid char):

    1!601!Супермаркет Васильев?!SIP/601-0000000d!!!!!0!00:00:12

    and you will also see the error in the asterisk CLI:

    ERROR[2333]: json.c:704 ast_json_vpack: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.

    All of that happens WITHOUT fop2 in the middle. It is a problem within Asterisk itself.

    FOP2 inherits the bad formatted utf8 string and pass it along, but it cannot fix it as it is broken from the start.

    Note that the same name can be used for a queue member name, and Asterisk behaves correctly in this regard, with no errors, using the same callerid/name.

    Perhaps that problem was fixed in more recent Asterisk versions... I tested with Asterisk 13.1.0 only.
  • I create screen shot fop panel. This is old server with fop2_server version 2.26, asterisk 1.8? freepbx 2.10. Problem with the encoding is present, but client in the conference display. I tested with Asterisk 13.1.0 and fop 2.30.05 problem still exists.
    Executing [s@macro-user-callerid:26] Set("SIP/6000-00000a09", "CALLERID(number)=6000") in new stack
    -- Executing [s@macro-user-callerid:27] Set("SIP/6000-00000a09", "CALLERID(name)=Супермаркет Васильев�") in new stack
    -- Executing [s@macro-user-callerid:28] Set("SIP/6000-00000a09", "CHANNEL(language)=ru") in new stack
    Сan fop2 panel in the future to call the problems encoding?
  • The bug is in Asterisk. It has problems with the encoding and pass that along via the manager event. FOP2 cannot fix encoding issues or invalid strings, as it does not know in advance what the problem might be. I already replied to your ticket about the issue, it is a bug in Asterisk and it must be addressed in Asterisk. FOP2 already supports UTF-8 strings and handles them correctly for conference participants, IF the callerid string is valid in AMI events. If the string is wrong. and you also see errors in the asterisk cli about it, then it will have issues... Decoding the callerid in your example leads to a null character at the end, that breaks the json string. The null comes from Asterisk. That null is NOT shown on other events with the same callerid, like queue member events, so it seems to be a bug particular to conferences.

    Best regards,
Sign In or Register to comment.