Gratis fast telefon med hjälp av Google Voice och en RaspberryPi (4 / 4 steg)
Steg 4: Konfigurera din SIP-enhet
I proxy (eller domän) typ i IP-adressen eller värdnamnet för din freeswitch PBX.
Visningsnamnet kan vara vad du vill.
Användar-ID bör vara 2001 (eftersom det är vad jag sätta den till).
Passowrd är från det du gjort upp ovan.
Starta freeswitch på kommandoraden /usr/local/freeswitch/bin/freeswitch
Spara och starta om SIP enheten. Du SIP-enheten bör nu registreras. Du kan testa genom att höra en kopplingston på telefonen.
Öppna en annan logik fönster till PBX-systemet och lämna tidigare freeswitch konsolen öppen i det andra fönstret. Vi ska referera till den senare.
Redigera conf/dialp/default.xml och Lägg till följande, direkt efter avsnittet "unloop" förlängning. Sedan ersätta endast fälten markerade med din SIP-enhet IP-adress.
< filnamnstillägg = "gvoice_in" >
< villkor fält = "källuttrycket" = "^ mod_dingaling$" >
<!--< åtgärd ansökan = "info" / > ->
< åtgärd ansökan = "logga" data = "Konsol GV kalla IN!" / >
< åtgärd ansökan = "logga" data = "Konsol ${destination_number}" / >
< åtgärd ansökan = "start_dtmf" / >
< åtgärd ansökan = "set" data = "execute_on_answer = send_dtmf 1
<!--< åtgärd ansökan = "cidlookup" data = "$1" / > ->
< åtgärd ansökan = "set" data = "hangup_after_bridge = true" / >
<!--< åtgärd ansökan = "set" data = "originate_continue_on_timeout = true" / > ->
<!--< åtgärd ansökan = "set" data = "call_timeout = 35" / > ->
< åtgärd ansökan = "bro" data = användaren/2001"
< åtgärd ansökan = "svaret" / >
< / villkor >
< / förlängning >
< filnamnstillägg = "gvoice_out" >
< villkor regex = "någon" >
< regex fält = "destination_number" expression="^(\d{10})$" / >
< regex fält = "dialed_extension" expression="^\+1(\d{10}) / >
< regex fält = "destination_number" expression="\+1(\d{10})$" / >
< åtgärd ansökan = "set" data = "hangup_after_bridge = true" / >
< åtgärd ansökan = "set" data = "ringback = ${oss-ring}" / >
< åtgärd ansökan = "set" data = "call_timeout = 45" / >
< åtgärd ansökan = "ring_ready" / >
< åtgärd ansökan = "bro" data = "dingaling/gtalk / + 1$ 1
< / villkor >
< / förlängning >
Redigera conf/autoload_configs/dingaling.conf.xml och Ersätt allt innehåll med följande.
< configuration name="dingaling.conf" Beskrivning = "XMPP Jingle Endpoint" >
< inställningar >
< param namn = "debug" value = "0" / >
< param namn = "codec-prefs" value = "PCMU" / >
< / inställningar >
< X-PRE-PROCESS cmd = "inkludera" data = "... /jingle_profiles/*.xml"/ >
< / konfiguration >
Gå tillbaka till fönstret freeswitch och typ reloadxml sedan ladda mod_dingaling
Nu är du kan testa att göra utgående och inkommande samtal.
Om allt fungerar till din belåtenhet, det är dags att göra freespace startar automatiskt vid uppstart.
Skapa en Freeswitch starttjänst
Skapa en ny fil som heter /etc/init.d/freeswitch klistra in innehållet från den här filen.
#chown -R freeswitch:freeswitch /etc/init.d/freeswitch
#chmod + x /etc/init.d/freeswitch
#update-rc.d freeswitch försummelsen
#/etc/init.d/freeswitch start
Starta om PBX-systemet och kontrollera att demonen har startats och att allt fungerar.
Röst-Codec optimering (Valfritt)
Jag tyckte att den standard codecen orsakar utgående samtal vara hackig. För att åtgärda detta, ändrade jag standard codec till PCMA.
Ersätta följande i conf/vars.xml
< X-PRE-PROCESS cmd = "set" data = "global_codec_prefs = G7221
< X-PRE-PROCESS cmd = "set" data = "outbound_codec_prefs = PCMU, PCMA, GSM" / >
med följande
< X-PRE-PROCESS cmd = "set" data = "global_codec_prefs = PCMA" / >
< X-PRE-PROCESS cmd = "set" data = "outbound_codec_prefs = PCMA" / >
Spara filen och stoppa och starta om tjänsten
#service freeswitch stop & & sova 15 & & service freeswitch start
FreeSWITCH startskript
#! / bin/sh
# Starta/stoppa freeswitch daemon.
#
### BÖRJA INIT INFORMATION
# Ger: freeswitch
# Krävs-Start: $network
# Krävs-Stop:
# Bör-Start:
# Bör-Stop:
# Standard-Start: 2 3 4 5
# Standard-Stop: 0 1 6
# Kort-beskrivning:
# Beskrivning:
### AVSLUTA INIT INFO
Stig = / bin: / usr/bin: / sbin: / usr/sbin
DESC = "freeswitch"
NAMN = freeswitch
DAEMON = / usr/local/freeswitch/bin/freeswitch
DARGS = "-nc"
PIDFILE=/var/run/FreeSWITCH.PID
SCRIPTNAME=/etc/init.d/"$Name"
testa -f $DAEMON || utgång 0
. /lib/lsb/init-functions
# där eftersom det ska vara i /etc/default/locale.
parse_environment)
{
för ENV_FILE i/etc/miljö /etc/default/locale; göra
[- r "$ENV_FILE"] || fortsätta
[-s "$ENV_FILE"] || fortsätta
för var i LANG språk LC_ALL LC_CTYPE; göra
värde = "egrep" ^ ${var} = ""$ENV_FILE"| svans - n1 | skär -d = - f2'
[-n "$value"] & & eval export $var = $value
om [-n "$value"] & & ["$ENV_FILE" = /etc/environment]; sedan
log_warning_msg "/ etc/environment har ersatts av locale information. använda /etc/default/locale för $var = $value istället "
Fi
gjort
gjort
# Få timezone uppsättningen.
om [- z "$TZ" - en -e/etc/tidszon]; sedan
TZ = "cat /etc/timezone"
Fi
}
# Analysera systemets miljö
om ["$READ_ENV" = "ja"]; sedan
parse_environment
Fi
fallet "$1" i
Starta) log_daemon_msg "Starting freeswitch" "freeswitch"
ulimit -s 240
OLDPID = "pgrep $NAME"
NEWPID = "cat $PIDFILE" 2 >/dev/null
om ["$OLDPID" = "$NEWPID"]; sedan
ECHO "Service redan körs" & & avsluta 1
annat
Su - $NAME -c "$DAEMON $DARGS" >/dev/null 2 > & 1
Fi
sova 1
PS-ef|grep $DAEMON|grep - v grep|awk '{print$ 2}' > $PIDFILE
log_end_msg $?
;;
freeswitch"Stop) log_daemon_msg"Stoppa freeswitch""
döda 'cat $PIDFILE' >/dev/null 2 > & 1
RETVAL = $?
[$RETVAL - eq 0] & & [-e "$PIDFILE"] & & rm -f $PIDFILE
log_end_msg $RETVAL
;;
starta om) log_daemon_msg "Restarting freeswitch" "freeswitch"
$0 stop
$0 start
log_end_msg 0
;;
status)
status_of_proc -p $PIDFILE $DAEMON $NAME & & exit 0 || avsluta $?
;;
* euro) log_action_msg "användning: /etc/init.d/freeswitch {start|stop|status|restart|reload|force-reload}"
utgång 2
;;
ESAC
utgång 0