Програміст в Укртелеком
  • Як зробити обробку вхідного виклику для Android-застосунку (softphone)

    Дякую за відповідь.
    Сам проект написаний на flutter (dart). Тому є можливість створювати застосунок і під Google Chrome і під ANDROID і під IOS. Під Chrome все працює чудово з вхідними відеовикликами з будь яким параметром packetization-mode і навіть зовсім без нього.
    Я саме і використовую Linphone, тому що в цьому застосунку і в десктопній версії і в андроід версії є можливість в налаштуваннях відео вписати різні параметри кодека H264. Потім ці параметри можно прослідити в SDP пакетах, які надходять до застосунку. Таким чином я знайшов причину, чому деякі SIP агенти при відеовиклику працюють нормально а деякі не працюють зовсім. Перебрав декілька параметрів типу profile-level-id, level-asymmetry-allowed і виявив що лише з параметром packetization-mode=1 цей застосунок коректно обробляє вхідний відеовиклик і все працює нормально, є і відео і аудіо.
    Якщо я правильно розумію, логічно було б, якщо б застосунок обробляв хоча б декілька базових параметрів — наприклад
    a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
    a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
    a=fmtp:104 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
    a=fmtp:106 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
    Тому, напевно, треба копатись в самому вихідному коді застосунка і шукати де саме обробляється вхідний виклик і що саме очікується, які параметри.