Asterisk/Debian : Un PBX completo a punta de copiar y pegar

Imagen de RazaMetaL

Con esta guia he llevado a cabo una gran cantidad de instalaciones, con solo copiar y pegar tendrás en poco tiempo un PBX completo, con interfaz de administración, panel, voicemail, reporte de llamadas, tarificación de llamadas salientes, etc.

Para este efecto vamos a utilizar las siguientes aplicaciones:

- Apache2
- PHP 5
- MySQL 5
- Asterisk 1.4
- FreePBX 2.4
- A2billing 1.3.3

Aunque el manual esta dirigido a instalaciones en la distribución Debian GNU/Linux y/o derivados, se puede adaptar fácilmente a otras distribuciones.

El manual asume que el usuario root de MySQL no tiene contraseña asignada, en caso de tenerla bastará con agregar la opción -p en la parte que se creen usuarios y bases de datos.

[b]ASTERISK[/b]
Instalamos dependencias:

aptitude install g++ make libnewt-dev libncurses5-dev openssl libssl1-dev zlib1g-dev bison flex libmysqlclient15-dev \
libopenh323-dev libpt-dev libiksemel1-dev subversion build-essential linux-headers-`uname -r`

Descargamos los paquetes necesarios:

cd /usr/src
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz

Instalamos cada uno:
Libpri:

cd /usr/src
tar zvxf libpri-1.4-current.tar.gz
cd libpri-1.4.3
make && make install

Zaptel:

cd /usr/src
tar zvxf zaptel-1.4-current.tar.gz
cd zaptel-1.4.10.1
./configure
make && make install && make config

Asterisk:

cd /usr/src
tar zvxf asterisk-1.4-current.tar.gz
cd asterisk-1.4.20
./configure
make && make install && make samples && make config

Asterisk Addons:

cd /usr/src
tar zvxf asterisk-addons-1.4-current.tar.gz
cd asterisk-addons-1.4.7
./configure
make && make install && make samples

Creamos un usuario para asterisk:

mkdir /var/run/asterisk
groupadd asterisk
useradd -c "asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk
chown asterisk /var/run/asterisk
chgrp asterisk /var/run/asterisk
chmod 770 /var/run/asterisk

[b]FREEPBX[/b]
Descargamos FreePBX:

cd /usr/src
wget http://mirror.freepbx.org/freepbx-2.4.0.tar.gz
tar zvxf freepbx-2.4.0.tar.gz

Instalamos dependencias:

aptitude install libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 \
apache2-dev mysql-client mysql-server php5 php-pear php5-mysql php5-gd \
perl libaudiofile-dev curl sox apache2 apache2-dev unzip lynx ncftp \
mime-construct libphp-jpgraph

pear install DB

perl -MCPAN -e "install Net::Telnet"
perl -MCPAN -e "install IPC::Signal"
perl -MCPAN -e "install Proc::WaitStat"

Configuramos la base de datos (MySQL):

mysqladmin create asterisk
mysqladmin create asteriskcdrdb

mysql -u root asteriskcdrdb < /usr/src/freepbx-2.4.0/SQL/cdr_mysql_table.sql
mysql -u root asterisk < /usr/src/freepbx-2.4.0/SQL/newinstall.sql

echo "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root
echo "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root
echo "flush privileges;" | mysql -u root

Configuramos Apache2:
vi /etc/apache2/envvars

export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk

Reiniciamos apache2:

/etc/init.d/apache2 reload

Modificamos los permisos:

chown -R asterisk:asterisk /var/www/
chomd -R 777 /var/www
chown -R asterisk:asterisk /var/log/asterisk
chmod -R 777 /var/log/asterisk
chown -R asterisk:asterisk /var/lib/asterisk
chmod -R 777 /var/lib/asterisk
chown -R asterisk:asterisk /usr/lib/asterisk
chmod -R 777 /usr/lib/asterisk
chown -R asterisk:asterisk /etc/asterisk
chmod -R 777 /etc/asterisk

Instalamos Freepbx:

cd /usr/src/freepbx-2.4.0
./install_amp --username=asteriskuser --password=amp109

La insterfaz de FreePBX estara accesible en http://ip.de.asterisk/admin y no se requiere usuario y contraseña. Para habilitar el usuario y contraseña debemos modificar el archivo /etc/amportal.conf en la sección AUTHTYPE:

# AUTHTYPE: authentication type to use for web admin
# If type set to 'database', the primary AMP admin credentials will be the AMPDBUSER/AMPDBPASS above
# valid: none, database
AUTHTYPE=database

El usuario es admin y la contraseña es admin , estos parámetros pueden ser luego modificados desde la interfaz de administración de FreePBX.

Finalmente modificamos los permisos de /etc/amportal.conf :

chown -R asterisk:asterisk /etc/amportal.conf
chmod 775 /etc/amportal.conf

[b]A2BILLING[/b]
Instalamos dependencias:

aptitude install libphp-jpgraph

Descargamos a2billing:

mkdir /usr/src/a2billing
cd /usr/src/a2billing
wget http://www.asterisk2billing.org/downloads/A2Billing_1.3.3.tar.gz
tar zvxf A2Billing_1.3.3.tar.gz

Configuramos la base de datos (MySQL):

mysqladmin create mya2billing -p
echo "GRANT ALL PRIVILEGES ON mya2billing.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';" | mysql -u root
echo "flush privileges;" | mysql -u root
mysql -u asteriskuser -pamp109 mya2billing < /usr/src/a2billing/DataBase/mysql/Mysql-5.x/a2billing-mysql-schema-MYSQL.5.X-v1.3.0.sql

Copiamos el archivo de configuración al directorio de asterisk, este archivo lo modificaremos mas adelante de acuerdo a nuestras necesidades:

cp /usr/src/a2billing/a2billing.conf /etc/asterisk/

Reflejamos en /etc/asterisk/a2billing.conf los parámentros de la base de datos:

[database]
hostname = localhost
port = 3306
user = asteriskuser
password = amp109
dbname = mya2billing
dbtype = mysql

Instalamos la interfaz de administración y del usuario:

cp -Rf /usr/src/a2billing/A2Billing_UI/ /var/www/a2billing-admin
chmod -R 777 /var/www/a2billing-admin/templates_c/
cp -Rf /usr/src/a2billing/A2BCustomer_UI/ /var/www/customer
chmod -R 777 /var/www/customer/templates_c/

Configuramos la música en espera:

mkdir /var/lib/asterisk/mohmp3/
mkdir /var/lib/asterisk/mohmp3/acc_1
mkdir /var/lib/asterisk/mohmp3/acc_2
mkdir /var/lib/asterisk/mohmp3/acc_3
mkdir /var/lib/asterisk/mohmp3/acc_4
mkdir /var/lib/asterisk/mohmp3/acc_5
mkdir /var/lib/asterisk/mohmp3/acc_6
mkdir /var/lib/asterisk/mohmp3/acc_7
mkdir /var/lib/asterisk/mohmp3/acc_8
mkdir /var/lib/asterisk/mohmp3/acc_9
chmod 777 /var/lib/asterisk/mohmp3/acc_*
chown asterisk:asterisk /var/lib/asterisk/mohmp3/acc_*
mkdir /var/log/asterisk/a2billing
chown asterisk:asterisk /var/log/asterisk/a2billing
mkdir /var/lib/asterisk/sounds/a2billing
chmod 777 /var/lib/asterisk/sounds/a2billing

vi /etc/asterisk/musiconhold_custom.conf

acc_1 => mp3:/var/lib/asterisk/mohmp3/acc_1
acc_2 => mp3:/var/lib/asterisk/mohmp3/acc_2
acc_3 => mp3:/var/lib/asterisk/mohmp3/acc_3
acc_4 => mp3:/var/lib/asterisk/mohmp3/acc_4
acc_5 => mp3:/var/lib/asterisk/mohmp3/acc_5
acc_6 => mp3:/var/lib/asterisk/mohmp3/acc_6
acc_7 => mp3:/var/lib/asterisk/mohmp3/acc_7
acc_8 => mp3:/var/lib/asterisk/mohmp3/acc_8
acc_9 => mp3:/var/lib/asterisk/mohmp3/acc_9

Instalamos los scripts AGI de a2billing:

cp /usr/src/a2billing/A2Billing_AGI/a2billing.php /var/lib/asterisk/agi-bin/
cp -Rf /usr/src/a2billing/A2Billing_AGI/libs_a2billing/ /var/lib/asterisk/agi-bin/
chmod a+x /var/lib/asterisk/agi-bin/a2billing.php

Copiamos los archivos de sonido:

cp /usr/src/a2billing/addons/sounds/* /var/lib/asterisk/sounds/
cp /usr/src/a2billing/addons/sounds/en/* /var/lib/asterisk/sounds/
cp /usr/src/a2billing/addons/sounds/es/* /var/lib/asterisk/sounds/es/

Configuramos la rotación de los archivos de log:

cp /usr/src/a2billing/addons/logrotate/a2billing /etc/logrotate.d/

Referenciamos la configuración de a2billing para SIP e IAX2:
vi /etc/asterisk/sip_general_customs.conf

language=es

disallow=all
allow=ilbc
allow=g729
allow=g723
allow=gsm
allow=h261
allow=h263
allow=h263p
allow=h264
allow=alaw
allow=ulaw

videosupport=yes
maxcallbitrate=384

t38pt_udptl = yes

#include sip_a2billing.conf

vi /etc/asterisk/iax_general_customs.conf

language=es

disallow=all
allow=ilbc
allow=g729
allow=g723
allow=gsm
allow=h261
allow=h263
allow=h263p
allow=h264

#include iax_a2billing.conf

vi /etc/asterisk/a2billing.conf

[webui]
buddy_sip_file = /etc/asterisk/sip_a2billing.conf
buddy_iax_file = /etc/asterisk/iax_a2billing.conf

Mi archivo a2billing luce así:
cat /etc/asterisk/a2billing.conf:

; Configuracion de la base de datos

[database]
hostname = localhost
port = 3306
user = asteriskuser
password = amp109
dbname = mya2billing
dbtype = mysql

; Configuracion global
[global]
interval_len_cardnumber = 4-15
len_aliasnumber = 10
len_voucher = 15
base_currency = usd
invoice_image = asterisk01.jpg
didbilling_daytopay = 5
admin_email = bofh@midominio.com

manager_host = localhost
manager_username = admin
manager_secret = admin

[callback]
context_callback = a2billing-callback
extension = 1000
sec_wait_before_callback = 10
sec_avoid_repeate = 30
timeout = 20
answer_call = yes

nb_predictive_call = 10
nb_day_wait_before_retry = 1
context_preditctivedialer = a2billing-predictivedialer
predictivedialer_maxtime_tocall = 5400
callerid = 123456

all_callback_tariff = 1
id_server_group = 1
callback_audio_intro = prepaid-callback_intro

; Parametros de la interfaz del usuario
[webcustomerui]
signup_page_url = http://midominio.com/a2billing-admin/signup/index.php
paymentmethod = no
personalinfo = yes
customerinfo = yes
sipiaxinfo = yes
cdr = yes
invoice = yes
voucher = no
paypal = no
speeddial = yes
did = yes
ratecard = yes
simulator = yes
callback = yes
predictivedialer = no
webphone = yes
webphoneserver = localhost
callerid = yes
password = yes
limit_callerid = 5
error_email = bofh@midominio.com
return_url_distant_login =
return_url_distant_forgetpassword =

;SIP & IAX
[sip-iax-info]
sip_iax_info_trunkname = a2billing
sip_iax_info_allowcodec = ilbc,gsm,g723,g729,ulaw,alaw
sip_iax_info_host = midominio.com
iax_additional_parameters = "canreinvite = no"
sip_additional_parameters = "trustrpid = yes | sendrpid = yes | canreinvite = no"

[epayment_method]
enable = no
http_server = "http://www.midominio.com"
https_server = "http://www.midominio.com"
http_cookie_domain = 26.63.165.200
https_cookie_domain = 26.63.165.200
http_cookie_path = "/customer/"
https_cookie_path = "/customer/"
dir_ws_http_catalog = "/customer/"
dir_ws_https_catalog = "/customer/"
enable_ssl = yes

http_domain = 26.63.165.200

dir_ws_http = "/var/www/customer/"
purchase_amount = 1:2:5:10:20
item_name = "Compra de Credito"
currency_code = USD
paypal_payment_url = "https://secure.paypal.com/cgi-bin/webscr"
paypal_verify_url = "ssl://www.paypal.com"

authorize_payment_url = "https://secure.authorize.net/gateway/transact.dll"
store_name = Asterisk2Billing
transaction_key = asdf1212fasd121554sd4f5s45sdf

moneybookers_secretword = a2billing

; Modulo Signup
[signup]
enable_signup = 0
enable_captcha = YES
credit = 0
callplan_id_list = 1, 2
activated = no
simultaccess = 0
typepaid = 0
creditlimit = 0
runservice = 0
enableexpire = 0
expirationdate =
expiredays = 0
sip_account = yes
iax_account = yes
activatedbyuser = no
urlcustomerinterface = http://midominio.com/customer/
reload_asterisk_if_sipiax_created = yes

; Backup
[backup]
backup_path = /tmp
gzip_exe = /bin/gzip
gunzip_exe = /bin/gunzip
mysqldump = /usr/bin/mysqldump
pg_dump = /usr/bin/pg_dump
mysql = /usr/bin/mysql
psql = /usr/bin/psql

[webui]
buddy_sip_file = /etc/asterisk/sip_a2billing.conf
buddy_iax_file = /etc/asterisk/iax_a2billing.conf
api_security_key = Ae87v56zzl34v
api_ip_auth = 127.0.0.1
email_admin = hofh@midominio.com

dir_store_mohmp3 = /var/lib/asterisk/mohmp3
num_musiconhold_class = 10
show_help = NO

my_max_file_size_import = 1024000 ; 1 MG
dir_store_audio = /var/lib/asterisk/sounds/a2billing
my_max_file_size_audio=3072000 ; in bytes
file_ext_allow = gsm, mp3, wav
file_ext_allow_musiconhold = mp3
link_audio_file = NO
monitor_path = /var/spool/asterisk/monitor
monitor_formatfile = gsm

show_icon_invoice = YES
show_top_frame = NO
currency_choose = usd, eur, cad, hkd
card_export_field_list = id, username, useralias, lastname, credit, tariff, activated, language, inuse, currency, sip_buddy, iax_buddy, nbused, mac_addr
voucher_export_field_list = id, voucher, credit, tag, activated, usedcardnumber,
usedate, currency

advanced_mode = NO
delete_fk_card = yes
type = friend
allow = ilbc,gsm,g723,g729,h263,h264,h261,ulaw,alaw,
context = a2billing
nat = "yes"
amaflag = billing
qualify = "yes"
host = dynamic
dtmfmode = RFC2833

[log-files]
cront_alarm = /var/log/asterisk/a2billingcront_a2b_alarm.log
cront_autorefill = /var/log/asterisk/a2billingcront_a2b_autorefill.log
cront_batch_process = /var/log/asterisk/a2billingcront_a2b_batch_process.log
cront_bill_diduse = /var/log/asterisk/a2billingcront_a2b_bill_diduse.log
cront_subscriptionfee = /var/log/asterisk/a2billingcront_a2b_subscription_fee.log
cront_currency_update = /var/log/asterisk/a2billingcront_a2b_currency_update.log
cront_invoice = /var/log/asterisk/a2billingcront_a2b_invoice.log
cront_check_account = /var/log/asterisk/a2billingcront_a2b_check_account.log
paypal = /var/log/asterisk/a2billinga2billing_paypal.log
epayment = /var/log/asterisk/a2billinga2billing_epayment.log
api_ecommerce = /var/log/asterisk/a2billingapi_ecommerce_request.log
api_callback = /var/log/asterisk/a2billingapi_callback_request.log
api_callback = /var/log/asterisk/a2billingapi_callback_request.log
agi = /var/log/asterisk/a2billinga2billing_agi.log

; Configuracion de AGI
[agi-conf1]
debug = 1
asterisk_version = 1_4
answer_call = NO
play_audio = YES
say_goodbye = NO
play_menulanguage = NO
force_language =
intro_prompt =
min_credit_2call = 0
min_duration_2bill = 0
notenoughcredit_cardnumber = YES
notenoughcredit_assign_newcardnumber_cid = YES
use_dnid = YES
no_auth_dnid = 2400,2300
number_try = 1
force_callplan_id =
say_balance_after_auth = NO
say_balance_after_call = NO
say_rateinitial = NO
say_timetocall = NO
auto_setcallerid = YES
force_callerid =
cid_sanitize = NO
cid_enable = NO
cid_askpincode_ifnot_callerid = NO
cid_auto_assign_card_to_cid = YES
cid_auto_create_card = NO
cid_auto_create_card_len = 10
cid_auto_create_card_typepaid = POSTPAY
cid_auto_create_card_credit = 0
cid_auto_create_card_credit_limit = 1000
cid_auto_create_card_tariffgroup = 6
callerid_authentication_over_cardnumber = NO
sip_iax_friends = NO
sip_iax_pstn_direct_call_prefix = 9191
sip_iax_pstn_direct_call = YES
ivr_voucher = NO
ivr_voucher_prefix = 8181
jump_voucher_if_min_credit = NO
extracharge_did =
extracharge_fee =
extracharge_buyfee =
international_prefixes = 011,00,09
dialcommand_param = "|60|iCHgLiwWTt(%timeout%:61000:30000)"
dialcommand_param_sipiax_friend = "|60|HRgirL(3600000:61000:30000)"
switchdialcommand = NO
failover_recursive_limit = 2
maxtime_tocall_negatif_free_route = 5400
send_reminder = NO
record_call = NO
monitor_formatfile = gsm
agi_force_currency =
currency_association = usd:dollars,mxn:pesos,eur:euros,all:credit
file_conf_enter_destination = prepaid-enter-dest
file_conf_enter_menulang = prepaid-menulang2
callback_bill_1stleg_ifcall_notconnected = YES

La interfaz de administración de a2billing estará disponible en http://ip.de.asterisk/a2billing-admin los datos para el acceso son:

username : admin
password : mypassword

username : root
password : myroot

La interfaz de usuario de a2billing estará disponible en http://ip.de.asterisk/customer

[b]INTEGRAR FREEPBX CON A2BILLING PARA FACTURAR LAS LLAMADAS SALIENTES DE CADA EXTENSIÓN[/b]
Bastante útil para conocer el gasto monetario realizado por cada extensión creada en FreePBX.

Para poder habilitar esta funcionalidad seguiremos el siguiente procedimiento en A2billing:

1.- Creamos un provider, luego un trunk que lleve el nombre del troncal que usaremos para la salida de las llamadas;
2.- Creamos un Call Plan y agregamos ratecards en el;
3.- Agregamos las tarifas en el ratecard;
4.- Creamos un customer, le asignamos el Call Plan que hicimos antes y le acreditamos saldo.

En FreePBX:

1.- Crear un "Custom Trunk" en Setup > Trunks > Add Custom Trunk y configurarlo con la siguiente información:

Outbound Caller ID:
Never Override CallerID :
Maximun Channels :
Disable Trunk:
Monitor Trunk Failures:

Dial Rules : Agregamos las reglas de marcado para este troncal, por ejemplo:
2XXXXXX
3XXXXXX
0NXXXXXXX

Dial Rules Wizards:
Outboud Dial Prefix:

Custom Dial String: A2B/1

2.- En Outboud Routes especificamos como troncal de salida a A2B/1 para cada ruta que deseamos conocer el gasto;
3.- En cada extensión debemos llenar el campo accountcode con el número de tarjeta creado en a2billing.
4.- Agregamos en /etc/asterisk/extensions_custom.conf lo siguiente:
vi /etc/asterisk/extensions_custom.conf

[macro-dialout-trunk-predial-hook]
exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:2)
exten => s,2,MacroExit

[custom-freepbx-a2billing]
exten => _X.,1,DeadAGI(a2billing.php|${OUT_${DIAL_TRUNK}:8})
exten => _X.,n,Hangup()

5.- Hacemos un reload de asterisk con el comando:

/etc/init.d/asterisk restart

6.- Hacemos una llamada, esta aparecerá en la interfaz de usuario de a2billing con el valor correspondiente al tiempo hablado.

Para verificar la facturación usaremos la dirección http://ip.de.asterisk/customer e ingresamos con los datos del customer creado en los pasos anteriores.

Si queremos escuchar el saldo de la cuenta utilizada por una extensión de a2billing procederemos de la siguiente manera:


cd /var/lib/asterisk/agi-bin
cp a2billing.php balance.php
cp -r libs_a2billing balance

Editamos balance.php y cambiamos todas las referencias con el texto [b]libs_a2billing[/b] por [b]balance[/b], de igual manera hacemos en [b]/var/lib/asterisk/agi-bin/balance/Class.A2Billing.php[/b] y reemplazamos [b]a2billing.conf[/b] por [b]balance.conf[/b]


cd /etc/asterisk/
cp a2billing.conf balance.conf

Editamos las siguientes opciones en balance.conf

say_balance_after_auth=YES
use_dnid=NO
answer_call=YES

Editamos /etc/asteris/extensions_custom.conf para que quede de esta manera:

[macro-dialout-trunk-predial-hook]
exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:3)
exten => s,2,GotoIf($["${OUT_${DIAL_TRUNK}:4:8}" = "BALANCE/"]?custom-balance,${OUTNUM},1:3)
exten => s,3,MacroExit

[custom-freepbx-a2billing]
exten => _X.,1,DeadAGI(a2billing.php|${OUT_${DIAL_TRUNK}:8})
exten => _X.,n,Hangup()

[custom-balance]
exten => _X.,1,DeadAGI(balance.php)
exten => _X.,n,Hangup()

En freebpx creamos un Custom trunk con la siguiente información:

Outbound Caller ID:
Never Override CallerID :
Maximun Channels :
Disable Trunk:
Monitor Trunk Failures:

Dial Rules : Agregamos el codigo para consultar el saldo, por ejemplo 123:
123

Dial Rules Wizards:
Outboud Dial Prefix:

Custom Dial String: BALANCE/1

Creamos un Outbound Route llamada balance:

Route name : balance
Dial Patterns : 123
Trunk Sequence: BALANCE/1

Aplicamos los cambios, y cuando marquemos 123 una operadora nos dirá el saldo de la cuenta de a2billing que estemos utilizando. Así podemos tener varias cuentas en a2billing y asignarle a cada usuario de freepbx un saldo o cuenta para conocer su gasto telefónico individual.

Comentarios

lo siento, no concuerdo,

Imagen de Epe

lo siento, no concuerdo, qué versión del kernel tienes? Seguramente que vas detrás de cualquier kernel que salga poniendolo pues es el estable el ultimo o como sea, hay un momento que hay que parar, confiar y dejar que salgan versiones más corregidas que la ultima de la mas mejor... no es así como estar instlando. Cada vez que se toca el software se corrigen bugs y se introducen nuevos.

Además, para eso está cpan2rpm

las cosas hay que hacerlas bien, sino las cochinaditas te harán quedar mal un día.

Saludos
epe
--
NuestroServer.com
Ecuador: +(593) 9 9246504, +(593) 2 600 4454
USA: +1 305 359 4495, España: +34 91 7617884


Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Por cosas como esta es que

Imagen de RazaMetaL

Por [url=http://www.ecualug.org/?q=2008/06/20/comos/detectar_tonos_de_fax_con_asterisk_y_freepbx]cosas como esta[/url] es que instalo desde los fuentes.

------------

Antes de preguntar visita el [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

 

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

congratulation...! raza....!

congratulation raza...! quise agregar estas lineas para agradecerte tus contribuciones cuando comence con asterisk me fue muy dificil por problemas con algunas librerias ya que lo monte en debian y centos las trae por defecto bueno algunas que necesita asterisk para funcionar tus post me ayudaron mucho incluso todavia lo hacen...! monte a2billing de tu post y la conexion iax2 con mi otro servidor tambien lo copie de ti...! hojala sigas ayudandonos con tus contribuciones, para mi a sido una gran ayuda de verdad y te lo agradesco...! hay que rendirle honor al que honor merece...! un aplauso para usted de mi parte...! gracias....!

Dios es el verdadero dueño del conocimiento..!

No me funcionan las CDR

Hola Raza...

Tu manual me ayudó muchísimo, fué uno de los que mas utilicé. En este momento, está funcionando todo MUY bien, excepto por los LOG de las llamadas. Lo raro es que no funcionan en FreePBX, pero los LOGs de A2Billing si funcionan.

Cuando pude conectarme remotamente a la base de datos, vi que MYSQL jamas almacenó un solo LOG de las llamadas, osea, hay un problema de comunicacion entre Asterisk y MYSQL, pero solo con la tabla asteriskcdrdb.

- NO es un problema de permisos.
- NO es un problema de contraseñas.
- Obviamente seguí las instrucciones que pusiste arriba y cuando no funcionó las de otras 10 personas mas... mas las pruebas que hice a conciencia..

Alguna idea??? Gracias!

ayuda con a2billing

Hola amigos

he seguido todo lo que han posteado
pero no he podido tener exito con poder echar andar a2billing
tengo asterisk 1.4.20 y a2billing 1.3.3;

Agradeceria mucho que me puedan ayudar.

resulta que a2billing no me funciona es decir no me tarifica nada, asterisk me funciona bien aunque lo unico que he
hecho es tener un proveerdor sip y hacer llamadas y creo suponer que lo demas funciona bien, pero por el momento no
me interesa mucho lo vere despues una ves que a2billing me tarifique las llamadas sip que hago.

miren les explico:

tengo

a2billing.conf con estos datos:

[database]
hostname = localhost
;port = 5432
port = 3306
user = a2billinguser
password = a2billing
dbname = mya2billing
;dbtype = postgres
dbtype = mysql

y me funciona bien puedo entrar a la BD y ver las tablas y en las paginas no me manda ningun error.

tambien tengo esto en ese mismo archivo:

min_duration_2bill = 0

para que m pueda tarificar rapido sin que me contesten.

ahora en extensions_custom.conf tengo:

;AGREGUE ESTO POR LO QUE MENCIONAN AL FINAL DEL MANUAL
[macro-dialout-trunk-predial-hook]
;[a2billing]
exten => s,1,GotoIf($["${OUT_${DIAL_TRUNK}:4:4}" = "A2B/"]?custom-freepbx-a2billing,${OUTNUM},1:2)
exten => s,2,MacroExit
[custom-freepbx-a2billing]
exten => _X.,1,DeadAGI(a2billing.php|${OUT_${DIAL_TRUNK}:8})
exten => _X.,n,Hangup()
;AQUI TERMINA LO AGREGADO

que es la macro que me ayuda a tarificar pero no hay resultado ademas agregue lo sig. tambien en este mismo
archivo porque he visto que en algunos manuales lo agregan.

[a2billing]
exten => _X.,1,Answer
exten => _X.,2,Wait,2
exten => _X.,3,DeadAGI,a2billing.php
exten => _X.,4,Wait,2
exten => _X.,5,Hangup

Pero lo agregue por q vi que las tarjetas q cree para los clientes en los archivos:
additional_a2billing_sip.conf
additional_a2billing_iax.conf

traen lo siguiente:

[6803228260]
type=friend
username=6803228260
accountcode=6803228260
regexten=6803228260
callerid=205
amaflags=billing
secret=205
nat=yes
dtmfmode=RFC2833
qualify=yes
canreinvite=yes
disallow=all
allow=ulaw
allow=alaw
allow=gsm
allow=g729
host=dynamic
context=a2billing ; lo agregue por esto porq supongo que hace la llamada a [a2billing]
;context=macro-dialout-trunk-predial-hook
regseconds=0
cancallforward=yes

como quiera las dos partes:

[a2billing] y [macro-dialout-trunk-predial-hook]

estan agregadas en extensions_custom.conf

por si una me funcionaba pero ademas tengo otra duda
la etiqueta:
[macro-dialout-trunk-predial-hook]
existe en otra parte en el archivo: extensions.conf

pero esta etiqueta abajo de ella no hay nada, es decir esta comentado todo lo que tiene, aqui esta esa parte que esta en el archivo:

[macro-dialout-trunk-predial-hook]
; this macro intentially left blank so it may be safely overwritten for any custom
; requirements that an installatin may have.
;
; MACRO RETURN CODE: ${PREDIAL_HOOK_RET}
; if set to "BYPASS" then this trunk will be skipped
;

por lo que pense que el asterisk o a2billing lo podian llamar y lo comente quedando:

;[macro-dialout-trunk-predial-hook]
; this macro intentially left blank so it may be safely overwritten for any custom
; requirements that an installatin may have.
;
; MACRO RETURN CODE: ${PREDIAL_HOOK_RET}
; if set to "BYPASS" then this trunk will be skipped
;

Ahora en la web tengo:
Agregue el trunk en freePBX como lo dice el manual

Trunk A2B/1

y solo puse estos datos:

Dial Rules: 8+XXXXX

Custom Dial String:A2B/1

y lo guarde

y en el Outbound Routes tengo:

Route Name:
TARIFICADA
Intra Company RouteOptional: ESTA PALOMEADA
Dial Patterns: 5|XXXXX
Trunk Sequence: A2B/1

y lo guarde

por lo que se daran cuenta marco un numero 5XXXXX
y sale por el trunk con 8XXXXX

Y en este apartado tengo una duda hay un modo de monitorear el trunk de asterisk-a2billing (es importante para saber que lo esta tomando)cuando lo utiliza
por q no lo veo, en el caso que tengo el trunk SIP si lo puedo ver cuando hablo por telefono a otro lugar
pero en este caso marco 6XXXXX q es otra ruta q utilizo como prueba para ver que funciona el tel. que estoy
llamando y luego marco el mismo telefono ahora con 5XXXXX pero el telefono me manda a la contestadora de
asterisk bueno nose si sea la contestadora me lo dice en ingles y no le entiendo muy bien que me dice.

pero bueno en conclusion segun yo manda el numero por el trunk de asterisk-a2billing como 8XXXXX
ahora del lado de a2billing para que lo tome:

En la web tengo:

En la parte de
Browse Ratecard tengo:

DESTINATION corea del sur
PREFIX 8
BR 0.05
SR 0.1
START-DATE 2008-09-13 17:
STOP-DATE 2018-09-13 17:
INITB 6
CC 0
TRUNK miproveedorSIP
FTC No

Olvidense de los presios, eso no me interesa quiero q me tarifique, ahora
miproveedorSIP es el que utilizo para las pruebas 5XXXXX que les mencione arriba (es el que funciona muy bien por lo que no puede ser mi proveedor o la configuracion) entonces por lo tanto supongo al ponerlo aqui debe funcionar con el
pero no lo toma.

Entonces estabamos diciendo arriba que el trunk de asterisk-a2billing lleva 8XXXXX por lo que este ratecard lo debe tomar porq le estoy diciendo que tome el numero que venga con 8 como lo dice el PREFIX

Ahora en el trunk de a2billing(no confundir con el trunk que tengo en asterisk cual es: asterisk-a2billing con Custom Dial String:A2B/1 ) que es el que se configura por la web pero de billing-admin:

En el apartado List Trunk:
tengo:

LABEL DEFAULT
ADD_PREFIX 011
REMOVE_PREFIX
TECH IAX2
IP/HOST kiki@switch-.net
PROVIDER
MINUTES 0:00

LABEL miproveedorSIP
ADD_PREFIX
REMOVE_PREFIX
TECH SIP
IP/HOST miproveedorSIP
PROVIDER miproveedorSIP
MINUTES 00:00

como veran tengo un trunk de default que es el que ya traia de ejemplo, que no creo q es el que me este causando daño y el trunk de miproveedorSIP(es el mismo nombre que utilizo en el trunk asterisk de mi proveedor sip que es el que les digo que funciona bien cuando marco 6XXXXX)
pero ahorita que estoy escribiendo ya me surgio la duda de como es que toma el trunk adecuado la ratecard para que pueda tarificar la llamada.
Bueno como veran mi trunk no tiene ADD PREFIX Y REMOVE PREFIX porq segun ya hace la llamada con el 8XXXXX que le mando por el trunk asterisk-a2billing que cree, es decir este, Custom Dial String:A2B/1.

Bueno eso es todo.
no he podido he hecho muchas pruebas y nada espero que me ayuden nose si sea la version pero no creo
el trixbox es el 2.6.1, asterisk es 1.4.20-1 y el a2billing es el 1.3.3

Espero su respuesta tan detallada como la mia si fuera mucha molestia
gracias.

Saludos!!

Problema al seleccionar el idioma de la interfaz

Hola

He seguido casi al pie de la letra el manual (he hecho mis pequeñas modificaciones, pero tengo el problema de que al cambiar el idioma de la interfaz web de FreePBX mediante el menú desplegable de la derecha, no pasa nada, siempre está en inglés. ¿A qué puede ser debido?

Un saludo y muchas gracias.

La respuesta la encontrarás

Imagen de RazaMetaL

La respuesta la encontrarás en la sección SOPORTE de [url]www.grandstream.com[/url].

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

disculpa pero

Imagen de lradames

disculpa, pero cuando me referia a configurar la grandstream, no era el aparato, si no saber si solo lo tengo que conectar o que configuro en la free ippbx para las llamadas entrantes y salientes.

gracias por conpartir tus conocimientos..................

Páginas