Amazon Kinesis Webrtc C SDK
 
Loading...
Searching...
No Matches
IceUtils.h
Go to the documentation of this file.
1/*******************************************
2Ice Utils internal include file
3*******************************************/
4#ifndef __KINESIS_VIDEO_WEBRTC_ICE_UTILS__
5#define __KINESIS_VIDEO_WEBRTC_ICE_UTILS__
6
7#pragma once
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#define DEFAULT_MAX_STORED_TRANSACTION_ID_COUNT 20
14#define MAX_STORED_TRANSACTION_ID_COUNT 100
15
16#define ICE_STUN_DEFAULT_PORT 3478
17#define ICE_STUNS_DEFAULT_PORT 5349
18
19#define ICE_URL_PREFIX_STUN "stun:"
20#define ICE_URL_PREFIX_STUN_SECURE "stuns:"
21#define ICE_URL_PREFIX_TURN "turn:"
22#define ICE_URL_PREFIX_TURN_SECURE "turns:"
23#define ICE_URL_TRANSPORT_UDP "transport=udp"
24#define ICE_URL_TRANSPORT_TCP "transport=tcp"
25
26#define ICE_TRANSPORT_TYPE_UDP "udp"
27#define ICE_TRANSPORT_TYPE_TCP "tcp"
28#define ICE_TRANSPORT_TYPE_TLS "tls"
29
40
47
48STATUS iceUtilsGenerateTransactionId(PBYTE, UINT32);
49
50// Stun packaging and sending functions
51STATUS iceUtilsPackageStunPacket(PStunPacket, PBYTE, UINT32, PBYTE, PUINT32);
54
61
74
75STATUS parseIceServer(PIceServer, PCHAR, PCHAR, PCHAR);
76
77#ifdef __cplusplus
78}
79#endif
80#endif /* __KINESIS_VIDEO_WEBRTC_ICE_UTILS__ */
ICE_SERVER_SCHEME
Definition IceUtils.h:55
@ ICE_SERVER_SCHEME_TURNS
Definition IceUtils.h:59
@ ICE_SERVER_SCHEME_STUNS
Definition IceUtils.h:57
@ ICE_SERVER_SCHEME_TURN
Definition IceUtils.h:58
@ ICE_SERVER_SCHEME_STUN
Definition IceUtils.h:56
VOID transactionIdStoreClear(PTransactionIdStore)
Definition IceUtils.c:139
STATUS freeTransactionIdStore(PTransactionIdStore *)
Definition IceUtils.c:64
STATUS createTransactionIdStore(UINT32, PTransactionIdStore *)
Definition IceUtils.c:35
STATUS iceUtilsSendStunPacket(PStunPacket, PBYTE, UINT32, PKvsIpAddress, PSocketConnection, struct __TurnConnection *, BOOL)
VOID transactionIdStoreRemove(PTransactionIdStore, PBYTE)
Definition IceUtils.c:123
struct IceServer * PIceServer
struct TransactionIdStore * PTransactionIdStore
STATUS iceUtilsPackageStunPacket(PStunPacket, PBYTE, UINT32, PBYTE, PUINT32)
Definition IceUtils.c:167
STATUS parseIceServer(PIceServer, PCHAR, PCHAR, PCHAR)
Definition IceUtils.c:248
STATUS iceUtilsSendData(PBYTE, UINT32, PKvsIpAddress, PSocketConnection, struct __TurnConnection *, BOOL)
STATUS iceUtilsGenerateTransactionId(PBYTE, UINT32)
Definition IceUtils.c:148
BOOL transactionIdStoreHasId(PTransactionIdStore, PBYTE)
Definition IceUtils.c:105
VOID transactionIdStoreInsert(PTransactionIdStore, PBYTE)
Definition IceUtils.c:84
STATUS(* IceServerSetIpFunc)(UINT64, PCHAR, PDualKvsIpAddresses)
Definition Include_i.h:131
KVS_SOCKET_PROTOCOL
Definition Network.h:51
#define MAX_ICE_CONFIG_CREDENTIAL_BUFFER_LEN
Definition Include.h:614
#define MAX_ICE_CONFIG_USER_NAME_BUFFER_LEN
Definition Include.h:600
#define MAX_ICE_CONFIG_URI_BUFFER_LEN
Definition Stats.h:37
Definition Include_i.h:113
Definition IceUtils.h:62
DualKvsIpAddresses ipAddresses
Definition IceUtils.h:68
KVS_SOCKET_PROTOCOL transport
Definition IceUtils.h:71
IceServerSetIpFunc setIpFn
Definition IceUtils.h:72
ICE_SERVER_SCHEME scheme
Definition IceUtils.h:66
BOOL isTurn
Definition IceUtils.h:64
BOOL isSecure
Definition IceUtils.h:65
Definition Include_i.h:105
Definition Stun.h:368
Definition IceUtils.h:33
UINT32 earliestTransactionIdIndex
Definition IceUtils.h:36
UINT32 maxTransactionIdsCount
Definition IceUtils.h:34
PBYTE transactionIds
Definition IceUtils.h:38
UINT32 nextTransactionIdIndex
Definition IceUtils.h:35
UINT32 transactionIdCount
Definition IceUtils.h:37
Definition SocketConnection.h:25
Definition TurnConnection.h:119