| | |
| | | bool_t forced_relay; /**< Force use of relay by modifying the local and reflexive candidates */ |
| | | bool_t turn_enabled; /**< TURN protocol enabled */ |
| | | bool_t short_turn_refresh; /**< Short TURN refresh for tests */ |
| | | bool_t default_candidates_prefer_ipv6; /** < Whether ipv6 candidates should be prefered compared to their ipv4 equivalent as "default candidate" */ |
| | | } IceSession; |
| | | |
| | | typedef struct _IceStunServerRequestTransaction { |
| | |
| | | **/ |
| | | MS2_PUBLIC void ice_session_set_default_candidates_types(IceSession *session, |
| | | const IceCandidateType types[ICT_CandidateTypeMax]); |
| | | |
| | | /** |
| | | * Set the AF_INET/AF_INET6 preference for electing the default candidates, when both are available. |
| | | */ |
| | | MS2_PUBLIC void ice_sesession_set_default_candidates_ip_version(IceSession *session, bool_t ipv6_preferred); |
| | | /** |
| | | * Destroy a previously allocated ICE session. |
| | | * |
| | |
| | | MS2_PUBLIC void ice_session_enable_short_turn_refresh(IceSession *session, bool_t enable); |
| | | |
| | | /** |
| | | * Enable TURN protol. |
| | | * Enable TURN protocol. |
| | | * @param session A pointer to a session |
| | | * @param enable A boolean value telling whether to enable TURN protocol or not. |
| | | */ |
| | | MS2_PUBLIC void ice_session_enable_turn(IceSession *session, bool_t enable); |
| | | |
| | | /** |
| | | * Set TURN transport. |
| | | * @param session A pointer to a session |
| | | * @param transport The transport that TURN should use (should be UDP, TCP or TLS). |
| | | */ |
| | | MS2_PUBLIC void ice_session_set_turn_transport(IceSession *session, const char *transport); |
| | | |
| | | /** |
| | | * Set TURN root certificate path when using TLS. |
| | | * @param session A pointer to a session |
| | | * @param root_certificate The path of the root certificate. |
| | | */ |
| | | MS2_PUBLIC void ice_session_set_turn_root_certificate(IceSession *session, const char *root_certificate); |
| | | |
| | | /** |
| | | * Set TURN CN when using TLS. |
| | | * @param session A pointer to a session |
| | | * @param cn The CN. |
| | | */ |
| | | MS2_PUBLIC void ice_session_set_turn_cn(IceSession *session, const char *cn); |
| | | |
| | | MS2_PUBLIC void ice_session_set_stun_auth_requested_cb(IceSession *session, MSStunAuthRequestedCb cb, void *userdata); |
| | | |
| | |
| | | MS2_PUBLIC bool_t ice_check_list_selected_valid_local_candidate(const IceCheckList *cl, IceCandidate **rtp_candidate, IceCandidate **rtcp_candidate); |
| | | |
| | | /** |
| | | * Get the selected valid base candidate for an ICE check list. |
| | | * |
| | | * @param cl A pointer to a check list |
| | | * @param rtp_candidate A pointer to store the RTP valid local base candidate |
| | | * @param rtcp_candidate A pointer to store the RTCP valid local base candidate |
| | | * @return TRUE if the information have been successfully retrieved, FALSE otherwise |
| | | */ |
| | | MS2_PUBLIC bool_t ice_check_list_selected_valid_local_base_candidate(const IceCheckList *cl, IceCandidate **rtp_candidate, IceCandidate **rtcp_candidate); |
| | | /** |
| | | * Get the selected valid remote candidate for an ICE check list. |
| | | * |
| | | * @param cl A pointer to a check list |