|
|
|
|
@ -122,27 +122,27 @@ enum {
|
|
|
|
|
#define IS_OWN_CALL(c) !IS_FOREIGN_CALL(c)
|
|
|
|
|
|
|
|
|
|
/* flags shared by several of the structs below */
|
|
|
|
|
#define SHARED_FLAG_IMPLICIT_RTCP 0x00000001
|
|
|
|
|
#define SHARED_FLAG_ASYMMETRIC 0x00000002
|
|
|
|
|
#define SHARED_FLAG_SEND 0x00000004
|
|
|
|
|
#define SHARED_FLAG_RECV 0x00000008
|
|
|
|
|
#define SHARED_FLAG_RTCP_MUX 0x00000010
|
|
|
|
|
#define SHARED_FLAG_SETUP_ACTIVE 0x00000020
|
|
|
|
|
#define SHARED_FLAG_SETUP_PASSIVE 0x00000040
|
|
|
|
|
#define SHARED_FLAG_ICE 0x00000080
|
|
|
|
|
#define SHARED_FLAG_STRICT_SOURCE 0x00000100
|
|
|
|
|
#define SHARED_FLAG_MEDIA_HANDOVER 0x00000200
|
|
|
|
|
#define SHARED_FLAG_TRICKLE_ICE 0x00000400
|
|
|
|
|
#define SHARED_FLAG_ICE_LITE_PEER 0x00000800
|
|
|
|
|
#define SHARED_FLAG_UNIDIRECTIONAL 0x00001000
|
|
|
|
|
#define SHARED_FLAG_RTCP_FB 0x00002000
|
|
|
|
|
#define SHARED_FLAG_LEGACY_OSRTP 0x00004000
|
|
|
|
|
#define SHARED_FLAG_LEGACY_OSRTP_REV 0x00008000
|
|
|
|
|
/* empty range in-between */
|
|
|
|
|
#define SHARED_FLAG_END_OF_CANDIDATES 0x40000000LL
|
|
|
|
|
#define SHARED_FLAG_IMPLICIT_RTCP (1LL << 0)
|
|
|
|
|
#define SHARED_FLAG_ASYMMETRIC (1LL << 1)
|
|
|
|
|
#define SHARED_FLAG_SEND (1LL << 2)
|
|
|
|
|
#define SHARED_FLAG_RECV (1LL << 3)
|
|
|
|
|
#define SHARED_FLAG_RTCP_MUX (1LL << 4)
|
|
|
|
|
#define SHARED_FLAG_SETUP_ACTIVE (1LL << 5)
|
|
|
|
|
#define SHARED_FLAG_SETUP_PASSIVE (1LL << 6)
|
|
|
|
|
#define SHARED_FLAG_ICE (1LL << 7)
|
|
|
|
|
#define SHARED_FLAG_STRICT_SOURCE (1LL << 8)
|
|
|
|
|
#define SHARED_FLAG_MEDIA_HANDOVER (1LL << 9)
|
|
|
|
|
#define SHARED_FLAG_TRICKLE_ICE (1LL << 10)
|
|
|
|
|
#define SHARED_FLAG_ICE_LITE_PEER (1LL << 11)
|
|
|
|
|
#define SHARED_FLAG_UNIDIRECTIONAL (1LL << 12)
|
|
|
|
|
#define SHARED_FLAG_RTCP_FB (1LL << 13)
|
|
|
|
|
#define SHARED_FLAG_LEGACY_OSRTP (1LL << 14)
|
|
|
|
|
#define SHARED_FLAG_LEGACY_OSRTP_REV (1LL << 15)
|
|
|
|
|
/* empty range [16 - 29] in-between for non-shared flags */
|
|
|
|
|
#define SHARED_FLAG_END_OF_CANDIDATES (1LL << 30)
|
|
|
|
|
|
|
|
|
|
/* struct stream_params */
|
|
|
|
|
#define SP_FLAG_NO_RTCP 0x00010000
|
|
|
|
|
#define SP_FLAG_NO_RTCP (1LL << 16)
|
|
|
|
|
#define SP_FLAG_IMPLICIT_RTCP SHARED_FLAG_IMPLICIT_RTCP
|
|
|
|
|
#define SP_FLAG_RTCP_MUX SHARED_FLAG_RTCP_MUX
|
|
|
|
|
#define SP_FLAG_SEND SHARED_FLAG_SEND
|
|
|
|
|
@ -162,93 +162,94 @@ enum {
|
|
|
|
|
#define SP_FLAG_END_OF_CANDIDATES SHARED_FLAG_END_OF_CANDIDATES
|
|
|
|
|
|
|
|
|
|
/* struct packet_stream */
|
|
|
|
|
#define PS_FLAG_RTP 0x00010000
|
|
|
|
|
#define PS_FLAG_RTCP 0x00020000
|
|
|
|
|
#define PS_FLAG_RTP (1LL << 16)
|
|
|
|
|
#define PS_FLAG_RTCP (1LL << 17)
|
|
|
|
|
#define PS_FLAG_IMPLICIT_RTCP SHARED_FLAG_IMPLICIT_RTCP
|
|
|
|
|
#define PS_FLAG_FALLBACK_RTCP 0x00040000
|
|
|
|
|
#define PS_FLAG_RECEIVED 0x00080000
|
|
|
|
|
#define PS_FLAG_FILLED 0x00100000
|
|
|
|
|
#define PS_FLAG_CONFIRMED 0x00200000
|
|
|
|
|
#define PS_FLAG_KERNELIZED 0x00400000
|
|
|
|
|
#define PS_FLAG_NO_KERNEL_SUPPORT 0x00800000
|
|
|
|
|
#define PS_FLAG_UNUSED 0x01000000
|
|
|
|
|
#define PS_FLAG_FINGERPRINT_VERIFIED 0x02000000
|
|
|
|
|
#define PS_FLAG_FALLBACK_RTCP (1LL << 18)
|
|
|
|
|
#define PS_FLAG_RECEIVED (1LL << 19)
|
|
|
|
|
#define PS_FLAG_FILLED (1LL << 20)
|
|
|
|
|
#define PS_FLAG_CONFIRMED (1LL << 21)
|
|
|
|
|
#define PS_FLAG_KERNELIZED (1LL << 22)
|
|
|
|
|
#define PS_FLAG_NO_KERNEL_SUPPORT (1LL << 23)
|
|
|
|
|
#define PS_FLAG_UNUSED (1LL << 24)
|
|
|
|
|
#define PS_FLAG_FINGERPRINT_VERIFIED (1LL << 25)
|
|
|
|
|
#define PS_FLAG_STRICT_SOURCE SHARED_FLAG_STRICT_SOURCE
|
|
|
|
|
#define PS_FLAG_MEDIA_HANDOVER SHARED_FLAG_MEDIA_HANDOVER
|
|
|
|
|
#define PS_FLAG_ICE SHARED_FLAG_ICE
|
|
|
|
|
#define PS_FLAG_ZERO_ADDR 0x04000000
|
|
|
|
|
#define PS_FLAG_PIERCE_NAT 0x08000000
|
|
|
|
|
#define PS_FLAG_NAT_WAIT 0x10000000
|
|
|
|
|
#define PS_FLAG_ZERO_ADDR (1LL << 26)
|
|
|
|
|
#define PS_FLAG_PIERCE_NAT (1LL << 27)
|
|
|
|
|
#define PS_FLAG_NAT_WAIT (1LL << 28)
|
|
|
|
|
|
|
|
|
|
/* struct call_media */
|
|
|
|
|
#define MEDIA_FLAG_INITIALIZED 0x00010000
|
|
|
|
|
#define MEDIA_FLAG_INITIALIZED (1LL << 16)
|
|
|
|
|
#define MEDIA_FLAG_ASYMMETRIC SHARED_FLAG_ASYMMETRIC
|
|
|
|
|
#define MEDIA_FLAG_UNIDIRECTIONAL SHARED_FLAG_UNIDIRECTIONAL
|
|
|
|
|
#define MEDIA_FLAG_SEND SHARED_FLAG_SEND
|
|
|
|
|
#define MEDIA_FLAG_RECV SHARED_FLAG_RECV
|
|
|
|
|
#define MEDIA_FLAG_RTCP_MUX SHARED_FLAG_RTCP_MUX
|
|
|
|
|
#define MEDIA_FLAG_RTCP_MUX_OVERRIDE 0x00020000
|
|
|
|
|
#define MEDIA_FLAG_DTLS 0x00040000
|
|
|
|
|
#define MEDIA_FLAG_SDES 0x00080000
|
|
|
|
|
#define MEDIA_FLAG_RTCP_MUX_OVERRIDE (1LL << 17)
|
|
|
|
|
#define MEDIA_FLAG_DTLS (1LL << 18)
|
|
|
|
|
#define MEDIA_FLAG_SDES (1LL << 19)
|
|
|
|
|
#define MEDIA_FLAG_SETUP_ACTIVE SHARED_FLAG_SETUP_ACTIVE
|
|
|
|
|
#define MEDIA_FLAG_SETUP_PASSIVE SHARED_FLAG_SETUP_PASSIVE
|
|
|
|
|
#define MEDIA_FLAG_PASSTHRU 0x00100000
|
|
|
|
|
#define MEDIA_FLAG_PASSTHRU (1LL << 20)
|
|
|
|
|
#define MEDIA_FLAG_ICE SHARED_FLAG_ICE
|
|
|
|
|
#define MEDIA_FLAG_TRICKLE_ICE SHARED_FLAG_TRICKLE_ICE
|
|
|
|
|
#define MEDIA_FLAG_ICE_LITE_PEER SHARED_FLAG_ICE_LITE_PEER
|
|
|
|
|
#define MEDIA_FLAG_ICE_CONTROLLING 0x00200000
|
|
|
|
|
#define MEDIA_FLAG_LOOP_CHECK 0x00400000
|
|
|
|
|
#define MEDIA_FLAG_REORDER_FORCED 0x00800000
|
|
|
|
|
#define MEDIA_FLAG_PTIME_OVERRIDE 0x01000000
|
|
|
|
|
#define MEDIA_FLAG_ICE_CONTROLLING (1LL << 21)
|
|
|
|
|
#define MEDIA_FLAG_LOOP_CHECK (1LL << 22)
|
|
|
|
|
#define MEDIA_FLAG_REORDER_FORCED (1LL << 23)
|
|
|
|
|
#define MEDIA_FLAG_PTIME_OVERRIDE (1LL << 24)
|
|
|
|
|
#define MEDIA_FLAG_RTCP_FB SHARED_FLAG_RTCP_FB
|
|
|
|
|
#define MEDIA_FLAG_GENERATOR 0x02000000
|
|
|
|
|
#define MEDIA_FLAG_ICE_LITE_SELF 0x04000000
|
|
|
|
|
#define MEDIA_FLAG_RTCP_GEN 0x08000000
|
|
|
|
|
#define MEDIA_FLAG_ECHO 0x10000000
|
|
|
|
|
#define MEDIA_FLAG_BLACKHOLE 0x20000000
|
|
|
|
|
#define MEDIA_FLAG_AUDIO_PLAYER 0x80000000
|
|
|
|
|
#define MEDIA_FLAG_GENERATOR (1LL << 25)
|
|
|
|
|
#define MEDIA_FLAG_ICE_LITE_SELF (1LL << 26)
|
|
|
|
|
#define MEDIA_FLAG_RTCP_GEN (1LL << 27)
|
|
|
|
|
#define MEDIA_FLAG_ECHO (1LL << 28)
|
|
|
|
|
#define MEDIA_FLAG_BLACKHOLE (1LL << 29)
|
|
|
|
|
// 30 used by SHARED_FLAG_END_OF_CANDIDATES
|
|
|
|
|
#define MEDIA_FLAG_AUDIO_PLAYER (1LL << 31)
|
|
|
|
|
#define MEDIA_FLAG_END_OF_CANDIDATES SHARED_FLAG_END_OF_CANDIDATES
|
|
|
|
|
#define MEDIA_FLAG_LEGACY_OSRTP SHARED_FLAG_LEGACY_OSRTP
|
|
|
|
|
#define MEDIA_FLAG_LEGACY_OSRTP_REV SHARED_FLAG_LEGACY_OSRTP_REV
|
|
|
|
|
#define MEDIA_FLAG_TRANSCODING 0x100000000LL
|
|
|
|
|
#define MEDIA_FLAG_BLOCK_EGRESS 0x200000000LL
|
|
|
|
|
#define MEDIA_FLAG_TRANSCODING (1LL << 32)
|
|
|
|
|
#define MEDIA_FLAG_BLOCK_EGRESS (1LL << 33)
|
|
|
|
|
/* MoH sendrecv flag handling, if set then hold is on-going */
|
|
|
|
|
#define MEDIA_FLAG_FAKE_SENDRECV 0x400000000LL
|
|
|
|
|
#define MEDIA_FLAG_FAKE_SENDRECV (1LL << 34)
|
|
|
|
|
/* in common with previous, if set, then answer has to be recvonly,
|
|
|
|
|
* if not set, then inactive.
|
|
|
|
|
*/
|
|
|
|
|
#define MEDIA_FLAG_REAL_SENDONLY 0x800000000LL
|
|
|
|
|
#define MEDIA_FLAG_REAL_SENDONLY (1LL << 35)
|
|
|
|
|
|
|
|
|
|
/* struct call_monologue */
|
|
|
|
|
#define ML_FLAG_REC_FORWARDING 0x00010000
|
|
|
|
|
#define ML_FLAG_INJECT_DTMF 0x00020000
|
|
|
|
|
#define ML_FLAG_DTMF_INJECTION_ACTIVE 0x00040000
|
|
|
|
|
#define ML_FLAG_DETECT_DTMF 0x00080000
|
|
|
|
|
#define ML_FLAG_NO_RECORDING 0x00100000
|
|
|
|
|
#define ML_FLAG_FINAL_RESPONSE 0x00200000
|
|
|
|
|
#define ML_FLAG_BLOCK_SHORT 0x00400000
|
|
|
|
|
#define ML_FLAG_BLOCK_MEDIA 0x00800000
|
|
|
|
|
#define ML_FLAG_SILENCE_MEDIA 0x01000000
|
|
|
|
|
#define ML_FLAG_MOH_SENDRECV 0x02000000
|
|
|
|
|
#define ML_FLAG_MOH_ZEROCONN 0x04000000
|
|
|
|
|
#define ML_FLAG_FORCE_TRANSCODING 0x08000000
|
|
|
|
|
#define ML_FLAG_REC_FORWARDING (1LL << 16)
|
|
|
|
|
#define ML_FLAG_INJECT_DTMF (1LL << 17)
|
|
|
|
|
#define ML_FLAG_DTMF_INJECTION_ACTIVE (1LL << 18)
|
|
|
|
|
#define ML_FLAG_DETECT_DTMF (1LL << 19)
|
|
|
|
|
#define ML_FLAG_NO_RECORDING (1LL << 20)
|
|
|
|
|
#define ML_FLAG_FINAL_RESPONSE (1LL << 21)
|
|
|
|
|
#define ML_FLAG_BLOCK_SHORT (1LL << 22)
|
|
|
|
|
#define ML_FLAG_BLOCK_MEDIA (1LL << 23)
|
|
|
|
|
#define ML_FLAG_SILENCE_MEDIA (1LL << 24)
|
|
|
|
|
#define ML_FLAG_MOH_SENDRECV (1LL << 25)
|
|
|
|
|
#define ML_FLAG_MOH_ZEROCONN (1LL << 26)
|
|
|
|
|
#define ML_FLAG_FORCE_TRANSCODING (1LL << 27)
|
|
|
|
|
|
|
|
|
|
/* call_t */
|
|
|
|
|
#define CALL_FLAG_IPV4_OFFER 0x00010000
|
|
|
|
|
#define CALL_FLAG_IPV6_OFFER 0x00020000
|
|
|
|
|
#define CALL_FLAG_IPV4_ANSWER 0x00040000
|
|
|
|
|
#define CALL_FLAG_IPV6_ANSWER 0x00080000
|
|
|
|
|
#define CALL_FLAG_MEDIA_COUNTED 0x00100000
|
|
|
|
|
#define CALL_FLAG_RECORDING_ON 0x00200000
|
|
|
|
|
#define CALL_FLAG_REC_FORWARDING 0x00400000
|
|
|
|
|
#define CALL_FLAG_DROP_TRAFFIC 0x00800000
|
|
|
|
|
#define CALL_FLAG_FOREIGN 0x01000000 // created_via_redis_notify call
|
|
|
|
|
#define CALL_FLAG_FOREIGN_MEDIA 0x02000000 // for calls taken over, tracks whether we have media
|
|
|
|
|
#define CALL_FLAG_DISABLE_JB 0x04000000
|
|
|
|
|
#define CALL_FLAG_DEBUG 0x08000000
|
|
|
|
|
#define CALL_FLAG_BLOCK_MEDIA 0x10000000
|
|
|
|
|
#define CALL_FLAG_SILENCE_MEDIA 0x20000000
|
|
|
|
|
#define CALL_FLAG_NO_REC_DB 0x40000000
|
|
|
|
|
#define CALL_FLAG_IPV4_OFFER (1LL << 16)
|
|
|
|
|
#define CALL_FLAG_IPV6_OFFER (1LL << 17)
|
|
|
|
|
#define CALL_FLAG_IPV4_ANSWER (1LL << 18)
|
|
|
|
|
#define CALL_FLAG_IPV6_ANSWER (1LL << 19)
|
|
|
|
|
#define CALL_FLAG_MEDIA_COUNTED (1LL << 20)
|
|
|
|
|
#define CALL_FLAG_RECORDING_ON (1LL << 21)
|
|
|
|
|
#define CALL_FLAG_REC_FORWARDING (1LL << 22)
|
|
|
|
|
#define CALL_FLAG_DROP_TRAFFIC (1LL << 23)
|
|
|
|
|
#define CALL_FLAG_FOREIGN (1LL << 24) // created_via_redis_notify call
|
|
|
|
|
#define CALL_FLAG_FOREIGN_MEDIA (1LL << 25) // for calls taken over, tracks whether we have media
|
|
|
|
|
#define CALL_FLAG_DISABLE_JB (1LL << 26)
|
|
|
|
|
#define CALL_FLAG_DEBUG (1LL << 27)
|
|
|
|
|
#define CALL_FLAG_BLOCK_MEDIA (1LL << 28)
|
|
|
|
|
#define CALL_FLAG_SILENCE_MEDIA (1LL << 29)
|
|
|
|
|
#define CALL_FLAG_NO_REC_DB (1LL << 30)
|
|
|
|
|
|
|
|
|
|
/* access macros */
|
|
|
|
|
#define SP_ISSET(p, f) bf_isset(&(p)->sp_flags, SP_FLAG_ ## f)
|
|
|
|
|
|