HowTos

Configurar un asterisk elastix en español

Por omisión los mensajes vocales de información y comando de una central telefónica asterisk-elastix están en inglés. No obstante, existen archivos de sonido en múltiples idiomas, y es posible configurar una central para que responda en cualquier idioma, e incluso que sepa responder en varios idiomas, en función del contexto.

Lo primero es agregar los paquetes de idioma (de texto para la interfaz web, y de sonido para la interfaz vocal.
en este caso, el paquete asterisk-sounds-es:

yum install asterisk-sounds-es

fixme: verificar la línea anterior.

Esto no es suficiente: en la configuración del asterisk, según cada contexto, es necesario indicarle que idioma utilizar.

Los archivos de configuración correspondiente están en: /etc/asterisk/

Para las llamadas entrantes, a través de las líneas telefónicas (es decir los puertos FXO):

En el archivo: chan_dahdi.conf, es necesario incluirlo en la sección "channels":

[channels]
language=es

si la llamada entra por una trocal SIP, se lo agrega directamente en el archivo: sip_general_custom.conf

(este archivos es incluido por los scripts elastix en la sección "general" de la configuración sip.conf)

Idem para las llamadas que entran por una troncal IAX, es en el archivo: iax_general_custom.conf

Configuración de VPN

Servidor OpenVPN

Instalación

Instalamos desde repositorios:

# yum install openvpn

Todo parece estar bien, ahora pasamos a la configuración.

Configuración

Según la página de OpenVPN, luego de la instalación debemos generar los certificados y las claves. Seguimos cómo dice utilizando el utilitario "easy-rsa":

[root@bell easy-rsa]# . ./vars 
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys
[root@bell easy-rsa]# ./clean-all 
[root@bell easy-rsa]# ./build-ca 
Generating a 1024 bit RSA private key
............................................++++++
....++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:UY
State or Province Name (full name) [CA]:  
Locality Name (eg, city) [SanFrancisco]:  
[root@bell easy-rsa]# ./build-ca 
Generating a 1024 bit RSA private key
..........................................++++++
..........................++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:UY
State or Province Name (full name) [CA]:UY
Locality Name (eg, city) [SanFrancisco]:Montevideo
Organization Name (eg, company) [Fort-Funston]:CSIC 
Organizational Unit Name (eg, section) [changeme]:CSIC
Common Name (eg, your name or your server's hostname) [changeme]:CSIC
Name [changeme]:CSIC
Email Address [mail@host.domain]:valem@csic.edu.uy

Ahora generamos los certificados y claves para los clientes:

[root@bell easy-rsa]# ./build-key victoralem
Generating a 1024 bit RSA private key
........................++++++
...................................++++++
writing new private key to 'victoralem.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:UY
State or Province Name (full name) [CA]:UY
Locality Name (eg, city) [SanFrancisco]:Montevideo
Organization Name (eg, company) [Fort-Funston]:CSIC
Organizational Unit Name (eg, section) [changeme]:CSIC
Common Name (eg, your name or your server's hostname) [victoralem]:
Name [changeme]:Victor Alem
Email Address [mail@host.domain]:valem@csic.edu.uy

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:*******************
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/openssl-0.9.8.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'UY'
stateOrProvinceName   :PRINTABLE:'UY'
localityName          :PRINTABLE:'Montevideo'
organizationName      :PRINTABLE:'CSIC'
organizationalUnitName:PRINTABLE:'CSIC'
commonName            :PRINTABLE:'victoralem'
name                  :PRINTABLE:'Victor Alem'
emailAddress          :IA5STRING:'valem@csic.edu.uy'
Certificate is to be certified until Dec 31 21:52:11 2022 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Seguimos con el protocolo Diffie-Hellman.

[root@bell easy-rsa]# ./build-dh 
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
......................+..............................................+................................+................................................+.........................................+.........+......................+..........+......+...................................+..........+...................+.............+...........+..................+...................................................................................+...................................................+........+................+.................................................................+.............................+....................................+.....................................................................................................................................................................................................................................................+..........................................+.+........................+........................................................................................................................................................................................................................................+...................+..............................................................................................................+................................................................................................+............................................................................................................................+..................................................................................+................................................................................+..............................................................................................................................+.......+....+...+.......................................................+.+..................................................................+.............................+................................+...................................................................................+.......................................................+.....................++*++*++*

Cliente OpenVPN

FIXME

Compartir un dispositivo USB con una máquina virtual KVM

Primero apagamos la máquina virtual que queremos "conecta" un dispositivo USB. Luego, nos logueamos en la máquina anfitrión e ingresamos en el shell:

virsh

Listamos las máquinas virtuales con el comando:

virsh # list --all
 Id Name                 State
----------------------------------
 27 Godel                running
  - Bell                 shut off
  - debian-plantilla     shut off
  - prueba               shut off

Cada máquina describe, entre otras cosas, sus dispositivos en un archivo xml. Mediante esta línea de comando podemos editar los archivos de cada máquina. Entonces editamos con el comando:

edit [nombre_VM]

dentro de "devices" debemos colocar lo un "hostdev":

<domain type='kvm'>
  <name>windowsxp</name>
  …
  <devices>
    …
    <hostdev mode='subsystem' type='usb'>
      <source>
        <vendor id='0x0a5c'/>
        <product id='0x2110'/>
      </source>
    </hostdev>
  </devices>
</domain>

Para saber los "id" del "vendor" y el "product" basta ejecutar el comando "lsusb" en el shell de la máquina anfitrión. Por ejemplo:

root@barran:~# lsusb 
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 04b3:4010 IBM Corp. 
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 0d3d:0040 Tangtop Technology Co., Ltd 
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 005: ID 0930:6544 Toshiba Corp. Kingston DataTraveler 2.0 Stick (2GB)

Para las pruebas, compartimos el dispositivo "Toshiba Corp. Kingston DataTraveler 2.0 Stick". Luego de la palabra "ID" en cada línea, tenemos los id's del "vendor" y "product" separados por ":" respectivamente.

Nota: Cabe aclarar que no es posible hacer cambios "en caliente". Para que detectar el dispositivo USB la máquina virtual debe arrancar con esta configuración.

Ahora encendemos nuestra máquina virtual y podremos ver el dispositivo USB que compartimos:

[root@bell ~]# lsusb 
Bus 001 Device 001: ID 0000:0000  
Bus 001 Device 002: ID 0930:6544 Toshiba Corp. Kingston DataTraveler 2.0 Stick (2GB)

[root@bell ~]# ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root  9 oct  1 19:55 ata-QEMU_DVD-ROM_QM00003 -> ../../hdc
lrwxrwxrwx 1 root root  9 oct  1 19:55 ata-QEMU_HARDDISK_QM00001 -> ../../hda
lrwxrwxrwx 1 root root 10 oct  1 19:55 ata-QEMU_HARDDISK_QM00001-part1 -> ../../hda1
lrwxrwxrwx 1 root root 10 oct  1 19:55 ata-QEMU_HARDDISK_QM00001-part2 -> ../../hda2
lrwxrwxrwx 1 root root  9 oct  1 19:55 usb-Kingston_DataTraveler_G3_001CC0EC30C4CB8195F67DC4 -> ../../sda
lrwxrwxrwx 1 root root 10 oct  1 19:55 usb-Kingston_DataTraveler_G3_001CC0EC30C4CB8195F67DC4-part1 -> ../../sda1

Fuente: http://david.wragg.org/blog/2009/03/using-usb-pass-through-under-libvirt.html

Auto-provisionamiento de teléfonos Yealink T-2X(P)

Siguiendo los pasos que propone el fabricante de los teléfonos en su manual (Auto-provisionamiento de teléfonos Yealink T-2XP), vamos a usar dos archivos de configuración que serán cargados a los teléfonos por TFTP, uno con configuraciones generales, y otro con las configuraciones específicas de cada teléfono. El archivo general es de la forma y00000000000[ 0-7 ].cfg (dependiendo del modelo del teléfono, ver -> Auto-provisionamiento de teléfonos Yealink T-2XP) y el particular para cada teléfono se identifica por la dirección MAC del dispositivo, por ejemplo: 0015653c1ac8.cfg.

Para no tener que ingresar a cada teléfono y configurarle el servidor tftp donde están estos archivos, según la documentación del fabricante (ver -> Auto-provisionamiento de teléfonos Yealink T-2XP) los teléfonos Yealink al encender toman una dirección IP por DHCP y en este acto el servidor DHCP le puede pasar la dirección IP del servidor TFTP que aloja los archivos de configuración. Por lo tanto no tenemos otra tarea que configurar todos nuestros archivos en el servidor TFTP y en el servidor DHCP configurar la opción "tftp-server-name".

Esta configuración sirve, además, para solucionar problemas. Si un usuario por accidente desconfigura el teléfono, simplemente le decimos que lo desenchufe y lo vuelva a enchufar. Así el equipo buscará y cargará nuevamente los archivos de configuración como sabemos que todo funciona. (Ojo: toda otra configuración que hayamos hecho y no esté en los archivos de configuración, se borrará cuando los archivos se cargan nuevamente, por ejemplo: la libreta de contactos)

Más información para simplificar el proceso de auto-provisionamiento con muchos teléfonos en la tarea #73 y la configuración del servidor DHCP en la tarea #1708.

Armemos primero el archivo de configuración general donde lo más importante es cambiar las contraseñas por defecto. Luego también tenemos la configuración regional de fecha y hora para que los teléfonos estén con los valores correctos:

[ autop_mode ]
path = /yealink/config/Setting/autop.cfg
#disable:0; power on:1; repeatly:4; weekly:5
#schedule_min is the interval of time to update, the minimum value is 1
#schedule_time and schedule_time_end are the time for weekly update
#schedule_dayofweek is the setting for weekly choosen, Sunday:0; Monday:1;  Tuesday:2;...if you want to update every sunday and Saturday, you could set it to 06
mode = 1
schedule_min = 
schedule_time = 
schedule_time_end = 
schedule_dayofweek = 

[ autoprovision ]
path = /yealink/config/Setting/autop.cfg
server_type = tftp
server_address = 164.73.68.51
user = 
password = 

[ AES_KEY ]
path = /yealink/config/Setting/autop.cfg
aes_key_16 = 

[ ringtone ]
path = /tmp/download.cfg
#to specify a ringtone for update
#the format of the ringtone must be WAV
#an example for a right server_address:ftp://wxf:123456@192.168.0.132:21/Ring20.wav
server_address = 

[ Lang ]
path = /config/Setting/Setting.cfg
#path = /tmp/download.cfg
#to specify a language for update
#an example for a right  server_address:http://192.168.0.132:9/file_provision/lang+English.txt
server_address =
ActiveWebLanguage = spanish

[ ContactList ]
path = /tmp/download.cfg
#to specify a XML phonebook for update
#an example for a right  server_address:http://192.168.0.132:9/file_provision/contactData1.xml
#server_address = http://192.168.26.1/phonebook/xml/snom/phonebook.xml 

[ firmware ]
path = /tmp/download.cfg
#to specify a firmware for update
#server_type can be tftp,ftp or http
#if the server requires authentication,the login_name and login_pswd will be used.
server_type = tftp
server_ip = 164.73.68.51
server_port = 69
login_name = 
login_pswd = 
http_url   = 
firmware_name = 2.41.0.28-T28.rom

# Added by CTM

[ Time ]
path = /yealink/config/Setting/Setting.cfg   
TimeZone = 0
TimeServer1= 164.73.68.51
TimeServer2 = hora.roa.es
Interval = 1000
SummerTime = 1
StartTime = 10/4/2
EndTime = 4/4/3

[ account ]
path=/yealink/config/voip/sipAccount0.cfg
SIPServerHost = 164.73.68.51
SIPServerPort = 5060
SIPListenRandom = 0
SIPListenPort = 5060
Expire = 3600   
UseOutboundProxy = 0
OutboundHost = 
OutboundPort = 5060
EnableEncrypt = 0
EncryptKey = 29749
EncryptVersion = 1
BakOutboundHost = 
BakOutboundPort = 5060
EnableSTUN = 0
proxy-require =
ptime = 0
srtp_encryption = 0
srtp_encryption_algorithm = 0
BackupSIPServerHost = 
BackupSIPServerPort = 
Enable 100Rel = 0
precondition = 0
SubsribeRegister = 0
CIDSource = 0
EnableSessionTimer = 0
SessionExpires = 
SessionRefresher = 0
EnableUserEqualPhone = 0
BLFList_URI = 
SubsribeMWI = 0
AnonymousCall = 0
RejectAnonymousCall = 0

[ audio0 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 1
PayloadType = PCMU
priority = 1
rtpmap = 0

[ audio1 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 1
PayloadType = PCMA
priority = 2
rtpmap = 8

[ audio2 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G723_53
priority = 0
rtpmap = 4

[ audio3 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G723_63
priority = 0
rtpmap = 4

[ audio4 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 1
PayloadType = G729
priority = 3
rtpmap = 18

[ audio5 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G722
priority = 0
rtpmap = 9

[ audio6 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = iLBC
priority = 3
rtpmap = 97

[ audio7 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G726-16
priority = 0
rtpmap = 112

[ audio8 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G726-24
priority = 0
rtpmap = 102

[ audio9 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G726-32
priority = 0
rtpmap = 2

[ audio10 ]
path=/yealink/config/voip/sipAccount0.cfg
enable = 0
PayloadType = G726-40
priority = 0
rtpmap = 104

[ DTMF ]
path=/yealink/config/voip/sipAccount0.cfg
DTMFInbandTransfer = 1
DTMFPayload = 101
DTMFToneLen = 300
InbandDtmfVolume = 0
RxLatency = 20
CPTToneCountry = 12
G726CodeWord = 1
InfoType = 0

[ NAT ]
path=/yealink/config/voip/sipAccount0.cfg
MaxRTPPort = 11800
MinRTPPort = 11780
NATTraversal = 0
STUNServer = 217.10.79.21
STUNPort = 10000
EnableUDPUpdate = 1
UDPUpdateTime = 30
rport = 0

[ ADVANCED ]
path=/yealink/config/voip/sipAccount0.cfg
default_t1 = 0.5
default_t2 = 4
default_t4 = 5

[blf]
path=/yealink/config/voip/sipAccount0.cfg
SubscribePeriod = 3600

[ Forward ]
path=/yealink/config/Features/Forward.cfg
Type = 0
AlwaysForward = 
BusyForward = 
NoAnswerForward = 
AfterRingTimes = 10
Active = 0
BusyNoAnswerForward = 
BusyNoAfterRingTimes = 10

[ Message ]
path=/yealink/config/Features/Message.cfg
#Set voicemail number for each account
VoiceNumber0 = *97
VoiceNumber1 = 
VoiceNumber2 = 
VoiceNumber3 = 
VoiceNumber4 = 
VoiceNumber5 = 

[ Features ]
path=/yealink/config/Features/Phone.cfg
DND = 0
Call_Waiting = 1
EnableHotline = 0
Callpickup = 
Hotlinenumber = 

[ AutoAnswer ]
path=/yealink/config/Features/Phone.cfg
Enable = 0

[ PoundSend ]
path=/yealink/config/Features/Phone.cfg
#Set # key or * key as send. #:1 and *:2
Enable = 1

[ WAN ]
path=/yealink/config/Network/Network.cfg
#WANType:0:DHCP,1:PPPoE,2:StaticIP
WANType = 0
WANStaticIP = 
WANSubnetMask = 
WANDefaultGateway = 

[ DNS ]
path=/yealink/config/Network/Network.cfg
PrimaryDNS = 
SecondaryDNS = 

[ PPPoE ]
path=/yealink/config/Network/Network.cfg
PPPoEUser = 
PPPoEPWD = 

[ LAN ]
path=/yealink/config/Network/Network.cfg
#LANTYPE:0:Router, 1:Bridge
LANTYPE = 1
RouterIP = 10.0.0.1
LANSubnetMask = 255.255.255.0
EnableDHCP = 1
DHCPStartIP = 10.0.0.10
DHCPEndIP = 10.0.0.100

[ SYSLOG ]
path=/yealink/config/Network/Network.cfg
#specify the server for syslog storage
SyslogdIP = 

[ RTPPORT ]
path=/yealink/config/Network/Network.cfg
MaxRTPPort = 11800
MinRTPPort = 11780

[ QOS ]
path=/yealink/config/Network/Network.cfg
SIGNALTOS = 40
RTPTOS = 40

[ VLAN ]
path=/yealink/config/Network/Network.cfg
#ISVLAN,VID and USRPRIORITY are used for VLAN on LAN port
#PC_PORT_VLAN_ENABLE,PC_PORT_VID and PC_PORT_PRIORITY are used for PC port
ISVLAN = 0
VID = 
USRPRIORITY = 
PC_PORT_VLAN_ENABLE = 
PC_PORT_VID = 
PC_PORT_PRIORITY = 

[ snmp ]
path=/yealink/config/Network/Network.cfg
port = 0
[ Profile ]
path=/yealink/config/vpm.cfg
VAD = 0
CNG = 1
GPHS = 12
ECHO = 1

[ Jitter ]
path=/yealink/config/vpm.cfg
Adaptive = 1
Min = 0
Max = 300
Nominal = 120
trusted_address = 

[ SecurityRTP ]
path=/yealink/config/vpm.cfg
Enable = 0

[ Country ]
path=/yealink/config/voip/tone.ini
#The tones are defined by countries.If Country = Custom,the customized values wi
ll be used.
Country = Australia

[ Tone Param ]
path=/yealink/config/voip/tone.ini
dial = 
ring = 
busy = 
congestion = 
callwaiting = 
dialrecall = 
record = 
info = 
stutter = 
message = 
autoanswer = 

[ Default ]
path=/yealink/config/voip/tone.ini
dial = 1
ring = 1
busy = 1
congestion = 1
callwaiting = 1
dialrecall = 1
record = 1
info = 1
stutter = 1
message = 1
autoanswer = 1

[ PhoneSetting ]
path = /yealink/config/Setting/Setting.cfg
BacklightTime = 120
Manual_Time = 0
BackLight = 2
Contrast = 2
InterDigitTime = 4
FlashHookTimer = 300
Lock = 0
#the range of the volume is 1~15
Voicevolume = 4
Ringtype = Ring1.wav
HandFreeSpkVol = 8
HandFreeMicVol = 8
HandSetSpkVol = 8
HandSetMicVol = 8
HeadSetSpkVol = 8
HeadSetMicVol = 8 

[ Lang ]
path = /yealink/config/Setting/Setting.cfg
#ActiveWebLanguage is the setting of language on LCD.
#WebLanguage is the setting of language on web management
ActiveWebLanguage = 
WebLanguage = 

[ AlertInfo0 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo1 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo2 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo3 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo4 ]
path = /yealink/config/Setting/Setting.cfg
Text =
Ringer = 

[ AlertInfo5 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo6 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo7 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo8 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ AlertInfo9 ]
path = /yealink/config/Setting/Setting.cfg
Text = 
Ringer = 

[ BlockOut ]
path = /yealink/config/DialRule/BlockOut.cfg
#Set Block Out number.
1 = 
2 =
3 = 
4 = 
5 = 
6 = 
7 = 
8 = 
9 = 
10 = 

[ AreaCode ]
path = /yealink/config/DialRule/areacode.cfg
code = 
minlen = 
maxlen = 

[ memory1 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Line means the line taken in use.0 stands for auto,1 stands for line1...except 
for one condition when type is blf(DKtype:16),0 stands for line1,1 stands for li
ne2...
#DKtype defines the type of the key,ranging from 0 to 17
#DKtype 0:N/A           1:Conference    2:Forward       3:Transfer
#DKtype 4:Hold          5:DND           6:Redial        7:Call Return
#DKtype 8:SMS           9:Call Pickup   10:Call Park    11:Custom
#DKtype 12:Voicemail    13:SpeedDial    14:Intercom     15:Line(for line key onl
y)
#DKtype 16:BLF          17:URL
#Set Memory key1
Line = 0
type = blf
Value = 180
Callpickup = 
DKtype = 16
PickupValue = *8

[ memory2 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key2
Line = 0
type = blf
Value = 181
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory3 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key3
Line = 0
type = blf
Value = 182
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory4 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key4
Line = 0
type = blf
Value = 183
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory5 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key5
Line = 0
type = blf
Value = 184
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory6 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key6
Line = 0
type = blf
Value = 186
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory7 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key7
Line = 0
type = blf
Value = 187
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory8 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key8
Line = 0
type = blf
Value = 188
Callpickup = 
DKtype = 16
PickupValue = *8

[ memory9 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key9
Line = 0
type = blf
Value = 189
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory10 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set Memory key10
Line = 0
type = blf
Value = 190
Callpickup = 
DKtype = 16 
PickupValue = *8

[ memory11 ]
path = /yealink/config/vpPhone/vpPhone.ini
#from memory11 to memory 16 are settings for 6 line keys of T28
#DKtype value is the same as it is defined for memory keys.Except for one that t
he line keys cannot be set to blf(DKtype:16).
#Set line key1
DKtype = 
Line = 
Value = 

[ memory12 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set line key2
DKtype =  
Line = 
Value = 
type =

[ memory13 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set line key2
DKtype = 
Line = 
Value = 

[ memory14 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set line key2
DKtype = 
Line = 
Value = 

[ memory15 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set line key2
DKtype = 
Line = 
Value = 

[ memory16 ]
path = /yealink/config/vpPhone/vpPhone.ini
#Set line key2
DKtype =    
Line = 
Value = 
type =

[AdminPassword]
path = /config/Setting/autop.cfg
password = contraseña

[UserPassword]
path = /config/Setting/autop.cfg
password = contraseña