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

Top reasons why VoIP calls drop



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.

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()

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

Asterisk custom follow me

  1. [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

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.