|  | @@ -316,6 +316,8 @@ GET_IP_ADDRESS_URL="checkip.two-dns.de"
 | 
	
		
			
			| 316 | 316 |  VOIP_SERVER_PASSWORD=
 | 
	
		
			
			| 317 | 317 |  # Port on which VoIP server listens
 | 
	
		
			
			| 318 | 318 |  VOIP_PORT=64738
 | 
	
		
			
			|  | 319 | +SIP_SERVER_PASSWORD=
 | 
	
		
			
			|  | 320 | +SIP_PORT=5060
 | 
	
		
			
			| 319 | 321 |  
 | 
	
		
			
			| 320 | 322 |  # Location of VoIP database and configuration
 | 
	
		
			
			| 321 | 323 |  VOIP_DATABASE="mumble-server.sqlite"
 | 
	
	
		
			
			|  | @@ -10685,6 +10687,16 @@ function get_voip_server_password {
 | 
	
		
			
			| 10685 | 10687 |    fi
 | 
	
		
			
			| 10686 | 10688 |  }
 | 
	
		
			
			| 10687 | 10689 |  
 | 
	
		
			
			|  | 10690 | +function get_sip_server_password {
 | 
	
		
			
			|  | 10691 | +  if [ -f /home/$MY_USERNAME/README ]; then
 | 
	
		
			
			|  | 10692 | +      if grep -q "SIP server password" /home/$MY_USERNAME/README; then
 | 
	
		
			
			|  | 10693 | +          if [ ! $SIP_SERVER_PASSWORD ]; then
 | 
	
		
			
			|  | 10694 | +              SIP_SERVER_PASSWORD=$(cat /home/$MY_USERNAME/README | grep "SIP server password" | awk -F ':' '{print $2}' | sed 's/^ *//')
 | 
	
		
			
			|  | 10695 | +          fi
 | 
	
		
			
			|  | 10696 | +      fi
 | 
	
		
			
			|  | 10697 | +  fi
 | 
	
		
			
			|  | 10698 | +}
 | 
	
		
			
			|  | 10699 | +
 | 
	
		
			
			| 10688 | 10700 |  function install_ipfs {
 | 
	
		
			
			| 10689 | 10701 |    if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" ]]; then
 | 
	
		
			
			| 10690 | 10702 |        return
 | 
	
	
		
			
			|  | @@ -10886,6 +10898,80 @@ function install_voip {
 | 
	
		
			
			| 10886 | 10898 |    echo 'install_voip' >> $COMPLETION_FILE
 | 
	
		
			
			| 10887 | 10899 |  }
 | 
	
		
			
			| 10888 | 10900 |  
 | 
	
		
			
			|  | 10901 | +function install_sip {
 | 
	
		
			
			|  | 10902 | +  if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" ]]; then
 | 
	
		
			
			|  | 10903 | +      return
 | 
	
		
			
			|  | 10904 | +  fi
 | 
	
		
			
			|  | 10905 | +  if grep -Fxq "install_sip" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 10906 | +      return
 | 
	
		
			
			|  | 10907 | +  fi
 | 
	
		
			
			|  | 10908 | +
 | 
	
		
			
			|  | 10909 | +  apt-get -y install sipwitch
 | 
	
		
			
			|  | 10910 | +
 | 
	
		
			
			|  | 10911 | +  get_sip_server_password
 | 
	
		
			
			|  | 10912 | +  if [ ! $SIP_SERVER_PASSWORD ]; then
 | 
	
		
			
			|  | 10913 | +      SIP_SERVER_PASSWORD="$(openssl rand -base64 10)"
 | 
	
		
			
			|  | 10914 | +  fi
 | 
	
		
			
			|  | 10915 | +
 | 
	
		
			
			|  | 10916 | +  echo '<?xml version="1.0"?>' > /etc/sipwitch.conf
 | 
	
		
			
			|  | 10917 | +  echo '<sipwitch>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10918 | +  echo '<provision>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10919 | +
 | 
	
		
			
			|  | 10920 | +  echo "<user id=\"$MY_USERNAME\">" >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10921 | +  echo '<extension>201</extension>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10922 | +  echo "<secret>$SIP_SERVER_PASSWORD</secret>" >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10923 | +  echo "<display>$MY_USERNAME 201</display>" >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10924 | +  echo '</user>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10925 | +
 | 
	
		
			
			|  | 10926 | +  echo '</provision>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10927 | +  echo '<access>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10928 | +  echo '</access>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10929 | +  echo '<stack>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10930 | +  echo "  <localnames>$DEFAULT_DOMAIN_NAME</localnames>" >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10931 | +  echo '  <mapped>200</mapped>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10932 | +  echo '  <threading>2</threading>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10933 | +  echo '  <interface>*</interface>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10934 | +  echo '  <dumping>false</dumping>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10935 | +  echo '  <system>system</system>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10936 | +  echo '  <anon>anonymous</anon>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10937 | +  echo '</stack>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10938 | +  echo '<timers>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10939 | +  echo '  <!-- ring every 4 seconds -->' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10940 | +  echo '  <ring>4</ring>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10941 | +  echo '  <!-- call forward no answer after x rings -->' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10942 | +  echo '  <cfna>4</cfna>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10943 | +  echo '  <!-- call reset to clear cid in stack, 6 seconds -->' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10944 | +  echo '  <reset>6</reset>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10945 | +  echo '</timers>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10946 | +  echo '<!-- we have 2xx numbers plus space for external users -->' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10947 | +  echo '<registry>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10948 | +  echo '  <prefix>200</prefix>'
 | 
	
		
			
			|  | 10949 | +  echo '  <range>100</range>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10950 | +  echo '  <keysize>77</keysize>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10951 | +  echo '  <mapped>200</mapped>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10952 | +  echo '  <!-- <realm>GNU Telephony</realm> -->' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10953 | +  echo '</registry>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10954 | +  echo '<routing>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10955 | +  echo '</routing>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10956 | +  echo '</sipwitch>' >> /etc/sipwitch.conf
 | 
	
		
			
			|  | 10957 | +
 | 
	
		
			
			|  | 10958 | +  service sipwitch start
 | 
	
		
			
			|  | 10959 | +
 | 
	
		
			
			|  | 10960 | +  if ! grep -q "SIP Server" /home/$MY_USERNAME/README; then
 | 
	
		
			
			|  | 10961 | +      echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10962 | +      echo '' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10963 | +      echo 'SIP Server' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10964 | +      echo '==========' >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10965 | +      echo "SIP server username: $MY_USERNAME" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10966 | +      echo "SIP server extension: 201" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10967 | +      echo "SIP server password: $SIP_SERVER_PASSWORD" >> /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10968 | +      chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10969 | +      chmod 600 /home/$MY_USERNAME/README
 | 
	
		
			
			|  | 10970 | +  fi
 | 
	
		
			
			|  | 10971 | +
 | 
	
		
			
			|  | 10972 | +  echo 'install_sip' >> $COMPLETION_FILE
 | 
	
		
			
			|  | 10973 | +}
 | 
	
		
			
			|  | 10974 | +
 | 
	
		
			
			| 10889 | 10975 |  function install_final {
 | 
	
		
			
			| 10890 | 10976 |    if grep -Fxq "install_final" $COMPLETION_FILE; then
 | 
	
		
			
			| 10891 | 10977 |        return
 | 
	
	
		
			
			|  | @@ -10993,6 +11079,7 @@ configure_firewall_for_xmpp
 | 
	
		
			
			| 10993 | 11079 |  install_irc_server
 | 
	
		
			
			| 10994 | 11080 |  configure_firewall_for_irc
 | 
	
		
			
			| 10995 | 11081 |  install_voip
 | 
	
		
			
			|  | 11082 | +install_sip
 | 
	
		
			
			| 10996 | 11083 |  install_wiki
 | 
	
		
			
			| 10997 | 11084 |  install_blog
 | 
	
		
			
			| 10998 | 11085 |  mark_blog_domain
 |