1. 28 Sep, 2023 - 1 commit
  2. 26 Sep, 2023 - 1 commit
    • Andrea Gianarda's avatar
      Conference Factory URI: · 3a43603e
      Andrea Gianarda authored
         Set it as Address in account parameters and core in order to easily
         take advantage of address comparison, parameter management and
         compliance with RFC3261
      
      Conference:
        Allow applications to directly mute licrophone and get input device
        volume through the conference object.
        This will ensure that whatever type of confenrece is and regardless if the
        device is hosting or being a participant, the application will have only
        one interface to use and the SDK will work under the hood.
      
      Deprecated methods:
        Delete linphone_core_mute_mic and linphone_core_is_mic_muted
        Add LINPHONE_DEPRECATED to deprecated Account parameter methods
      
      Tester:
        Pass conference factory uri to ClientConference constructor instead of
        focus identity
      
      Memory leaks:
        Free data of list returned by linphone_friend_get_phone_numbers
      3a43603e
  3. 25 Sep, 2023 - 2 commits
  4. 21 Sep, 2023 - 1 commit
  5. 20 Sep, 2023 - 2 commits
  6. 19 Sep, 2023 - 2 commits
  7. 14 Sep, 2023 - 2 commits
    • Sylvain Berfini's avatar
    • Andrea Gianarda's avatar
      In the call parameters, there are 2 ways of setting the from address · 2dc884fb
      Andrea Gianarda authored
      when initiating a call;
      - from header
      - account
      These 2 parameters are dependent from each other which makes tricky for
      the core to know exactly which account to use and the correct from
      address.
      In most scenarios, the from address is the account's identity address
      but it is not always the case such as in the case of a direct call.
      Moreover, the account cannot be always deduced in a straightforward
      matter such as if the core has no default account (but it is registered
      with one or more accounts) and the call parameters have not set one.
      
      The algorithm for choosing an account is the following:
      1) search in the call parameters
      2) get the default account
      3) look up for the best guessed account based on the from (if known) or
         to address
      
      The algorithm for known the from address is the following:
      1) look for the from header in the call parameters
      2) look up for the identity address of the account (if known)
      3) get the core primary account
      
      Set Ik SDP attribute based on the account used for a call
      
      Use account set in the call parameters before retrieving the NAT policy.
      It may happen that a call session is buuild without passing an account
      and in such a case, the SDK will do its best to get one
      2dc884fb
  8. 12 Sep, 2023 - 1 commit
    • Andrea Gianarda's avatar
      Uninvited participant role: · ae013672
      Andrea Gianarda authored
      - Speaker -> participant has been added by an admin through a REFER
                -> participant has called the conference and all other participants are speakers
      - Listener -> participant has called the conference and there is at least a listener being part of the conference
      
      Look if there is a conference info matching the to address in the database in order to know if a call will be part of a conference even if the call cannot be started right away if ICE candidates have to be gathered firt
      
      Wait for the call to onFullStateReceived before updating the conference informations when parsing a NOTIFY full state. This allows to optimize database accesses
      ae013672
  9. 08 Sep, 2023 - 1 commit
  10. 07 Sep, 2023 - 2 commits
    • Simon Morlat's avatar
      Fix test and memory leaks. · 10ff9f91
      Simon Morlat authored
      10ff9f91
    • Andrea Gianarda's avatar
      Source code: · 5f3273b8
      Andrea Gianarda authored
        - Add callback to notify the application that a participant has changed role in the conference
        - Take into account role when creating the list of participant informations of a conference
        - Give priority to the conference information stored in the database over that cached in the call log object
        - When a participant is added, give the application a pointer to it with all the informations up to date
        - In the event of a full state, reduce the number of database accesses by updating the conference information in the callback onFullStateReceived. Previously, for every participant added a DB access was required in order to update the conference information
      
      Tests:
        - Add verification of role and sequence id of every participant info in the conference information in the call logs and conference information
        - add helper functions to ease checking of conference informations
      5f3273b8
  11. 06 Sep, 2023 - 1 commit
  12. 05 Sep, 2023 - 1 commit
  13. 04 Sep, 2023 - 2 commits
  14. 01 Sep, 2023 - 1 commit
  15. 31 Aug, 2023 - 1 commit
  16. 23 Aug, 2023 - 1 commit
  17. 22 Aug, 2023 - 1 commit
  18. 16 Aug, 2023 - 1 commit
  19. 12 Aug, 2023 - 1 commit
  20. 11 Aug, 2023 - 1 commit
  21. 10 Aug, 2023 - 1 commit
    • Andrea Gianarda's avatar
      - Fix crash occurring when calling... · 007b585e
      Andrea Gianarda authored
      - Fix crash occurring when calling linphone_core_find_conference_information_from_uri with a NULL address
      - reintroduce deprecated core public methods to the documentation
      - catch more std::out_of_range exceptions
      007b585e
  22. 09 Aug, 2023 - 1 commit
  23. 04 Aug, 2023 - 1 commit
    • Andrea Gianarda's avatar
      Implement conference broadcast feature. · 32f4c5a3
      Andrea Gianarda authored
      It allows the organizer to choose whether participant are speakers or
      listener in a conference.
      For scheduled conferences, if a participant is not in the list of
      allowed participants, he/she will have its role set to listener (i.e
      audio stream will be sendonly from the server side and recvonly on the
      client side).
      
      Non scheduled conferences will have the organizer and participants to be
      speakers.
      
      The dynamic change of a participant role is not supported yet once the
      conference is started but it may be done prior to it by updating the
      conference informations
      32f4c5a3
  24. 03 Aug, 2023 - 1 commit
  25. 26 Jul, 2023 - 1 commit
  26. 25 Jul, 2023 - 1 commit
  27. 24 Jul, 2023 - 3 commits
    • Andrea Gianarda's avatar
    • Andrea Gianarda's avatar
      Implement changes in the SIP signaling to enable encrypted conferences: · 647631fa
      Andrea Gianarda authored
      - a RecvOnly audio stream with content DTX and the participant label for each participant of the conference. A secured conference will have N audio streams (1 sendrecv for the local participant and N-1 recvonly for the other participants)
      - add security level to the conference parameters
      - pass security level information to the conference server
      - add encryption information to the database table storing conferences
      - pass security level down to MSAudioConference and MSVideoConference objects
      - add extra video stream for encrypted conference in active speaker layout
      647631fa
    • Andrea Gianarda's avatar
      - Prevent client that do not have appropriate capabilities to create chat · 31173b71
      Andrea Gianarda authored
      rooms
      - Reply 488 Not Acceptable Here if a client without groupchat capabilities
      tries to create a chatroom
      - Do not send a SUBSCRIBE if the chatroom that has just been created has
      an handler in the remote conference list event handler
      - Reply 403 Forbidden if a client successfully creates a chatroom but he/she is not allowed in
      - Do not subscribe again to chatrooms when refreshing a register
      
      Tester: Add devices information only if they have groupchat capabilities
      when registering a new ClientConference
      31173b71
  28. 19 Jul, 2023 - 1 commit
  29. 18 Jul, 2023 - 1 commit
  30. 13 Jul, 2023 - 2 commits
  31. 06 Jul, 2023 - 1 commit