Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F7159808
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/sipsimple/configuration/settings.py b/sipsimple/configuration/settings.py
index f4fd1af5..6d7b5ce2 100644
--- a/sipsimple/configuration/settings.py
+++ b/sipsimple/configuration/settings.py
@@ -1,109 +1,111 @@
"""
SIP SIMPLE settings.
Definition of general (non-account related) settings.
"""
from sipsimple import __version__
from sipsimple.configuration import CorrelatedSetting, RuntimeSetting, Setting, SettingsGroup, SettingsObject
from sipsimple.configuration.datatypes import NonNegativeInteger, PJSIPLogLevel
from sipsimple.configuration.datatypes import AudioCodecList, SampleRate, VideoCodecList
from sipsimple.configuration.datatypes import Port, PortRange, SIPTransportList
from sipsimple.configuration.datatypes import Path
from sipsimple.configuration.datatypes import H264Profile, VideoResolution
-
__all__ = ['SIPSimpleSettings']
+
class EchoCancellerSettings(SettingsGroup):
enabled = Setting(type=bool, default=True)
tail_length = Setting(type=NonNegativeInteger, default=2)
class AudioSettings(SettingsGroup):
alert_device = Setting(type=str, default='system_default', nillable=True)
input_device = Setting(type=str, default='system_default', nillable=True)
output_device = Setting(type=str, default='system_default', nillable=True)
sample_rate = Setting(type=SampleRate, default=44100)
muted = RuntimeSetting(type=bool, default=False)
silent = Setting(type=bool, default=False)
echo_canceller = EchoCancellerSettings
class H264Settings(SettingsGroup):
profile = Setting(type=H264Profile, default='baseline')
level = Setting(type=str, default='3.1')
class VideoSettings(SettingsGroup):
device = Setting(type=str, default='system_default', nillable=True)
resolution = Setting(type=VideoResolution, default=VideoResolution('1280x720'))
framerate = Setting(type=int, default=25)
max_bitrate = Setting(type=float, default=None, nillable=True)
muted = RuntimeSetting(type=bool, default=False)
h264 = H264Settings
class ChatSettings(SettingsGroup):
pass
class ScreenSharingSettings(SettingsGroup):
pass
class FileTransferSettings(SettingsGroup):
directory = Setting(type=Path, default=Path('~/Downloads'))
class LogsSettings(SettingsGroup):
trace_msrp = Setting(type=bool, default=False)
trace_sip = Setting(type=bool, default=False)
trace_pjsip = Setting(type=bool, default=False)
pjsip_level = Setting(type=PJSIPLogLevel, default=5)
-
-class RTPSettings(SettingsGroup):
- port_range = Setting(type=PortRange, default=PortRange(50000, 50500))
- timeout = Setting(type=NonNegativeInteger, default=30)
- audio_codec_list = Setting(type=AudioCodecList, default=AudioCodecList(('opus', 'G722', 'PCMU', 'PCMA', 'speex', 'iLBC', 'GSM')))
- video_codec_list = Setting(type=VideoCodecList, default=VideoCodecList(('H264', 'VP8', 'VP9')))
+try:
+ from sipsimple.configuration._codecs import RTPSettings
+except ImportError:
+ class RTPSettings(SettingsGroup):
+ port_range = Setting(type=PortRange, default=PortRange(50000, 50500))
+ timeout = Setting(type=NonNegativeInteger, default=30)
+ audio_codec_list = Setting(type=AudioCodecList, default=AudioCodecList(('opus', 'G722', 'PCMU', 'PCMA', 'speex', 'iLBC', 'GSM')))
+ video_codec_list = Setting(type=VideoCodecList, default=VideoCodecList(('H264', 'VP8', 'VP9')))
def sip_port_validator(port, sibling_port):
if port == sibling_port != 0:
raise ValueError("the TCP and TLS ports must be different")
class SIPSettings(SettingsGroup):
invite_timeout = Setting(type=NonNegativeInteger, default=90, nillable=True)
udp_port = Setting(type=Port, default=0)
tcp_port = CorrelatedSetting(type=Port, sibling='tls_port', validator=sip_port_validator, default=0)
tls_port = CorrelatedSetting(type=Port, sibling='tcp_port', validator=sip_port_validator, default=0)
transport_list = Setting(type=SIPTransportList, default=SIPTransportList(('tls', 'tcp', 'udp')))
class TLSSettings(SettingsGroup):
ca_list = Setting(type=Path, default=None, nillable=True)
certificate = Setting(type=Path, default=None, nillable=True)
verify_server = Setting(type=bool, default=False)
class SIPSimpleSettings(SettingsObject):
__id__ = 'SIPSimpleSettings'
default_account = Setting(type=str, default='bonjour@local', nillable=True)
user_agent = Setting(type=str, default='sipsimple %s' % __version__)
instance_id = Setting(type=str, default='')
audio = AudioSettings
video = VideoSettings
chat = ChatSettings
screen_sharing = ScreenSharingSettings
file_transfer = FileTransferSettings
logs = LogsSettings
rtp = RTPSettings
sip = SIPSettings
tls = TLSSettings
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Nov 23, 12:54 PM (1 d, 3 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3406790
Default Alt Text
(4 KB)
Attached To
Mode
rPYNSIPSIMPLE python3-sipsimple
Attached
Detach File
Event Timeline
Log In to Comment