VoIP based phone systems bring many benefits, but they also bring some problems. Not least is the annoying tendency for some calls to drop mid-way through your conversation for no obvious reason. In this article I will identify the most common reasons why a VoIP call might suddenly drop mid-way through an established call and explain how you can diagnose the cause. At the end are some pointers to the solutions for these problems.
Soporte & Consultoria
Soporte Remoto y Consultoria skype : ambiorixg12.
Nota no se brinda ningun tipo de consulta o soporte fuera del blog de forma gratuita
domingo, 31 de enero de 2016
asterisk confbridge
/etc/asterisk/confbridge.conf
[general]
[fancybridge]
type=bridge
max_members=20
mixing_interval=10
internal_sample_rate=auto
record_conference=no
[fancyuser]
type=user
music_on_hold_when_empty=yes
music_on_hold_class=Michael
announce_user_count_all=yes
announce_join_leave=yes
dsp_drop_silence=yes
denoise=yes
[fancymenu]
type=menu
*=playback_and_continue(conf-togglemute&press&digits/1&silence/1&conf-leave&press&digits/2&silence/1&add-a-caller&press&digits/3&silence/1&conf-decrease-talking&press&digits/4&silence/1&reset-talking&press$
*1=toggle_mute
1=toggle_mute
*2=leave_conference
2=leave_conference
*3=dialplan_exec(addcallers,1,1)
3=dialplan_exec(addcallers,1,1)
*4=decrease_listening_volume
4=decrease_listening_volume
*5=reset_listening_volume
5=reset_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
7=decrease_talking_volume
7=decrease_talking_volume
*8=reset_talking_volume
8=reset_talking_volume
*9=increase_talking_volume
9=increase_talking_volume
0=leave_conference
0=leave_conference
/etc/asterisk/extensions.conf
[ivr_conference]
exten=>_x.,1,Answer()
same=>n(start),read(conf_num,conference/welcome&conference/intro&conference/disclaimer,1,,,2)
same => n,GotoIf($["${conf_num}">="1"]?ivr_conference,1,1:ivr_conference,no,1)
exten=>1,1(conf),Confbridge(${conf_num},fancybridge,fancyuser,fancymenu)
same=>n,Noop(we quit from the conference ${CONFBRIDGE_RESULT})
same=>n,Goto(ivr_conference,_x.,1)
same=>n,Hangup()
exten=>i,1,Playback(conference/noagree)
same=>n,Hangup()
exten=>t,1,Playback(conference/noagree)
same=>n,Hangup()
exten=>no,1(no),Playback(conference/noagree)
same=>n,Hangup()
[general]
[fancybridge]
type=bridge
max_members=20
mixing_interval=10
internal_sample_rate=auto
record_conference=no
[fancyuser]
type=user
music_on_hold_when_empty=yes
music_on_hold_class=Michael
announce_user_count_all=yes
announce_join_leave=yes
dsp_drop_silence=yes
denoise=yes
[fancymenu]
type=menu
*=playback_and_continue(conf-togglemute&press&digits/1&silence/1&conf-leave&press&digits/2&silence/1&add-a-caller&press&digits/3&silence/1&conf-decrease-talking&press&digits/4&silence/1&reset-talking&press$
*1=toggle_mute
1=toggle_mute
*2=leave_conference
2=leave_conference
*3=dialplan_exec(addcallers,1,1)
3=dialplan_exec(addcallers,1,1)
*4=decrease_listening_volume
4=decrease_listening_volume
*5=reset_listening_volume
5=reset_listening_volume
*6=increase_listening_volume
6=increase_listening_volume
7=decrease_talking_volume
7=decrease_talking_volume
*8=reset_talking_volume
8=reset_talking_volume
*9=increase_talking_volume
9=increase_talking_volume
0=leave_conference
0=leave_conference
/etc/asterisk/extensions.conf
[ivr_conference]
exten=>_x.,1,Answer()
same=>n(start),read(conf_num,conference/welcome&conference/intro&conference/disclaimer,1,,,2)
same => n,GotoIf($["${conf_num}">="1"]?ivr_conference,1,1:ivr_conference,no,1)
exten=>1,1(conf),Confbridge(${conf_num},fancybridge,fancyuser,fancymenu)
same=>n,Noop(we quit from the conference ${CONFBRIDGE_RESULT})
same=>n,Goto(ivr_conference,_x.,1)
same=>n,Hangup()
exten=>i,1,Playback(conference/noagree)
same=>n,Hangup()
exten=>t,1,Playback(conference/noagree)
same=>n,Hangup()
exten=>no,1(no),Playback(conference/noagree)
same=>n,Hangup()
jueves, 28 de enero de 2016
asterisk ConfBridge
https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Application_ConfBridge
https://wiki.asterisk.org/wiki/display/AST/ConfBridge
https://wiki.asterisk.org/wiki/display/AST/ConfBridge
Asterisk custom follow me
- [from-internal-custom]
exten=>_007.,1,Noop( call to ${EXTEN:3})
same=>n,GotoIf($[${LEN(${DB(${EXTEN:3}/dest)})}=3]?local:external)
same=>n(local),Dial(SIP/${DB(${EXTEN:3}/dest)},25)
same=>n,Hangup()
same=>n(external),Dial(SIP/VoipMSOut/1${DB(${EXTEN:3}/dest)},25)
same=>n,Hangup()
include=>custom-follow
[custom-follow]
exten=>*996,1,Answer()
same=>n,Authenticate(/etc/asterisk/pass_list.conf)
same=>n(start),Read(num,please-enter-your-extension-then-press-pound)
same=>n,GotoIf($[${LEN(${num})}>=3]?continue)
same=>n,Playback(im-sorry)
same=>n,Goto(start)
same=>n(continue),Read(dest,enter-phone-number10)
same=>n,GotoIf($[${LEN(${dest})}>= 3]?ok:continue)
same=>n(ok),Set(DB(${num}/dest)=${dest})
same=>n,Playback(auth-thankyou)
same=>n,SayDigits(${DB(${num}/dest)})
same=>n,Hangup()
;;;review
exten=>*997,1,Answer()
same=>n,Authenticate(/etc/asterisk/pass_list.conf)
same=>n(start),Read(num,please-enter-your-extension-then-press-pound)
same=>n,GotoIf($[${LEN(${num})}>=3]?continue)
same=>n,Playback(im-sorry)
same=>n,Goto(start)
same=>n(continue),Playback(auth-thankyou)
same=>n,SayDigits(${DB(${num}/dest)})
same=>n,Hangup()
miércoles, 27 de enero de 2016
Using the Asterisk Database (AstDB)
Having fun yet? It gets even better!
Asterisk provides a powerful mechanism for storing values called the Asterisk database (AstDB). The AstDB provides a simple way to store data for use within your dialplan.
For those of you with experience using relational databases such as PostgreSQL or MySQL, the Asterisk database is not a traditional relational database; it is a Berkeley DB version 1 database. There are several ways to store data from Asterisk in a relational database. Check out Chapter 16, Relational Database Integration for more about relational databases.
The Asterisk database stores its data in groupings called families, with values identified by keys. Within a family, a key may be used only once. For example, if we had a family called
test, we could store only one value with a key called count. Each stored value must be associated with a family.viernes, 22 de enero de 2016
call counter
misc destination to this example 9918007143030
[from-internal-custom]
exten=>101013,1,Agi(ivr.php)
same=>n,Hangup()
exten=>_991NXXNXXXXXX,1,Noop( dialing to this number ${EXTEN:2})
exten=>_991NXXNXXXXXX,2,Gosub(insert,${EXTEN:2},1)
same=>n,Dial(SIP/${trunk}/${EXTEN:2},25)
same=>n,Hangup()
[insert]
exten=>_X.,1,Noop(var values are ${CALLERID(num)} ${EXTEN})
same=>n,system(mysql --user=root --password='786' counter -e "INSERT INTO calls (id,phone,did) values (NULL,"${EXTEN}","${CALLERID(num)}")")
same=>n,return()
On shell test
mysql --user=root --password='786' counter -e "INSERT INTO calls (id,phone,did) values (NULL,"13052361010","18007143030")";
SELECT DISTINCT COUNT( * ) , phone
FROM list
GROUP BY phone
LIMIT 0 , 30
[from-internal-custom]
exten=>101013,1,Agi(ivr.php)
same=>n,Hangup()
exten=>_991NXXNXXXXXX,1,Noop( dialing to this number ${EXTEN:2})
exten=>_991NXXNXXXXXX,2,Gosub(insert,${EXTEN:2},1)
same=>n,Dial(SIP/${trunk}/${EXTEN:2},25)
same=>n,Hangup()
[insert]
exten=>_X.,1,Noop(var values are ${CALLERID(num)} ${EXTEN})
same=>n,system(mysql --user=root --password='786' counter -e "INSERT INTO calls (id,phone,did) values (NULL,"${EXTEN}","${CALLERID(num)}")")
same=>n,return()
On shell test
mysql --user=root --password='786' counter -e "INSERT INTO calls (id,phone,did) values (NULL,"13052361010","18007143030")";
SELECT DISTINCT COUNT( * ) , phone
FROM list
GROUP BY phone
LIMIT 0 , 30
viernes, 15 de enero de 2016
Email notifications for missed calls in Asterisk
[<<][asterisk][>>][..]Wed Apr 18 15:29:28 EDT 2012
Email notifications for missed calls in Asterisk
Cached from [1]. Author: Matt Schmandt A feature I have wanted for a long time is to get emails about missed calls. I have a Blackberry and knowing that people are calling and hanging up before leaving a vm is very useful when I am out in the field. I wrote a small shell script to add this functionality to Asterisk. I place the script in the h extension of the stdexten marco. The h extension triggers once a call is hung up from that context. The first and only priority for the h extension is a System() call. It calls this shell script and passes many parameters to it. The first parameter is the email address to send the email to. To make this work for the marco, I adjust the macro to have a third parameter which is email address. I would like to pull the email address from that extensions vm but that function does not exist and I could not figure out how to add that function in the C source code. If anyone knows a better way, please let me know. The script requires you have the mailx package installed.
Suscribirse a:
Entradas (Atom)