diff --git a/roles/jitsi/defaults/main.yml b/roles/jitsi/defaults/main.yml index 051cfdc..e1a054b 100644 --- a/roles/jitsi/defaults/main.yml +++ b/roles/jitsi/defaults/main.yml @@ -239,6 +239,34 @@ jitsi_jigasi_default_room: sip #jitsi_jigasi_sip_server: jitsi_jigasi_sip_port: 5060 jitsi_jigasi_sip_transport: UDP +jitsi_jigasi_sip_base_conf: + ACCOUNT_UID: "SIP\\:{{ jitsi_jigasi_sip_user }}" + PASSWORD: "{{ jitsi_jigasi_sip_secret | b64encode }}" + PROTOCOL_NAME: SIP + SERVER_ADDRESS: "{{ jitsi_jigasi_sip_server }}" + USER_ID: "{{ jitsi_jigasi_sip_user }}" + KEEP_ALIVE_INTERVAL: 25 + KEEP_ALIVE_METHOD: OPTIONS + VOICEMAIL_ENABLED: 'false' + OVERRIDE_ENCODINGS: 'false' + DOMAIN_BASE: "{{ jitsi_domain }}" + PROXY_ADDRESS: "{{ jitsi_jigasi_sip_server }}" + PROXY_AUTO_CONFIG: 'false' + PROXY_PORT: "{{ jitsi_jigasi_sip_port }}" + PREFERRED_TRANSPORT: "{{ jitsi_jigasi_sip_transport }}" +jitsi_jigasi_sip_extra_conf: {} +# Can be used to configure advanced parameters, like media encryption +#jitsi_jigasi_sip_extra_conf: +# SAVP_OPTION: 1 +# ENCRYPTION_PROTOCOL.DTLS-SRTP: 0 +# ENCRYPTION_PROTOCOL.SDES: 1 +# ENCRYPTION_PROTOCOL.ZRTP: 2 +# ENCRYPTION_PROTOCOL_STATUS.DTLS-SRTP: 'false' +# ENCRYPTION_PROTOCOL_STATUS.SDES: 'true' +# ENCRYPTION_PROTOCOL_STATUS.ZRTP: 'false' +# IS_PRESENCE_ENABLED: 'true' +# SDES_CIPHER_SUITES: AES_CM_128_HMAC_SHA1_80,AES_CM_128_HMAC_SHA1_32 +jitsi_jigasi_sip_conf: "{{ jitsi_jigasi_sip_base_conf | combine(jitsi_jigasi_sip_extra_conf, recursive=True) }}" jitsi_jigasi_xmpp_user: jigasi jitsi_jigasi_xmpp_domain: "{{ jitsi_auth_domain }}" diff --git a/roles/jitsi/templates/jigasi/sip-communicator.properties.j2 b/roles/jitsi/templates/jigasi/sip-communicator.properties.j2 index a898cdc..ab429b4 100644 --- a/roles/jitsi/templates/jigasi/sip-communicator.properties.j2 +++ b/roles/jitsi/templates/jigasi/sip-communicator.properties.j2 @@ -13,20 +13,9 @@ org.jitsi.jigasi.MUC_SERVICE_ADDRESS=conference.{{ jitsi_domain }} {% if jitsi_jigasi %} # SIP acount net.java.sip.communicator.impl.protocol.sip.acc=acc -net.java.sip.communicator.impl.protocol.sip.acc.ACCOUNT_UID=SIP\:{{ jitsi_jigasi_sip_user }} -net.java.sip.communicator.impl.protocol.sip.acc.PASSWORD={{ jitsi_jigasi_sip_secret | b64encode }} -net.java.sip.communicator.impl.protocol.sip.acc.PROTOCOL_NAME=SIP -net.java.sip.communicator.impl.protocol.sip.acc.SERVER_ADDRESS={{ jitsi_jigasi_sip_server }} -net.java.sip.communicator.impl.protocol.sip.acc.USER_ID={{ jitsi_jigasi_sip_user }} -net.java.sip.communicator.impl.protocol.sip.acc.KEEP_ALIVE_INTERVAL=25 -net.java.sip.communicator.impl.protocol.sip.acc.KEEP_ALIVE_METHOD=OPTIONS -net.java.sip.communicator.impl.protocol.sip.acc.VOICEMAIL_ENABLED=false -net.java.sip.communicator.impl.protocol.sip.acc.OVERRIDE_ENCODINGS=false -net.java.sip.communicator.impl.protocol.sip.acc.DOMAIN_BASE={{ jitsi_domain }} -net.java.sip.communicator.impl.protocol.sip.acc.PROXY_ADDRESS={{ jitsi_jigasi_sip_server }} -net.java.sip.communicator.impl.protocol.sip.acc.PROXY_AUTO_CONFIG=false -net.java.sip.communicator.impl.protocol.sip.acc.PROXY_PORT={{ jitsi_jigasi_sip_port }} -net.java.sip.communicator.impl.protocol.sip.acc.PREFERRED_TRANSPORT={{ jitsi_jigasi_sip_transport }} +{% for param in jitsi_jigasi_sip_conf.keys() | list %} +net.java.sip.communicator.impl.protocol.sip.acc.{{ param }}={{ jitsi_jigasi_sip_conf[param] }} +{% endfor %} {% else %} # No SIP acc configured, jigasi will be disabled {% endif %}