Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions liberator/libreapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -985,13 +985,20 @@ class DtmfModeEnum(str, Enum):
info = 'info'
none = 'none'

class RtpSecureMediaEnum(str, Enum):
mandatory = 'mandatory'
optional = 'optional'
forbidden = 'forbidden'
false = 'false'

class MediaModel(BaseModel):
name: str = Field(pattern=_NAME_, max_length=32, description='name of Media class (identifier)')
desc: Optional[str] = Field(default='', max_length=64, description='description')
codecs: List[str] = Field(min_length=1, max_item=len(SWCODECS), description=f'sorted list of codec. Support {SWCODECS}')
codec_negotiation: NegotiationMode = Field(default='generous', description='codec negotiation mode, generous: refer remote, greedy: refer local, scrooge: enforce local')
media_mode: MediaModeEnum = Field(default='transcode', description='media processing mode')
dtmf_mode: DtmfModeEnum = Field(default='rfc2833', description='Dual-tone multi-frequency mode')
rtp_secure_media: RtpSecureMediaEnum = Field(default='false', description='RTP/SRTP security mode: mandatory=always SRTP, optional=SRTP if supported, forbidden=never SRTP, false=no SRTP')
cng: bool = Field(default=False, description='comfort noise generate')
vad: bool = Field(default=False, description='voice active detection, no transmit data when no party speaking')
# validate
Expand Down