Kurt Knudsen
2008-Oct-10 21:17 UTC
[asterisk-users] Configuring Bandwidth.com SIP trunks to prevent one-way audio
Hello,
We have 2 SIP trunks from Bandwidth.com and if both are in use and someone
tries to dial out, they cause another call to get one-way audio (the caller
hears us, we cannot hear them). This happens 100% of the time and
Bandwidth.com doesn't offer any support. I don't see any setting that
tells
Asterisk that there are 2 channels available from Bandwidth.com's IP.
I'm
currently using, or attempting to use, groups to solve this problem, but
sometimes it works, sometimes it doesn't. It breaks when a call goes out on
a Queue, because it seems to add each phone to the group, which breaks my
GotoIf() statement. Here's some relevant information:
Users.conf (added by Asterisk-GUI)
[trunk_2]
provider = Bandwidth (SIP) ; GUI metadata
context = DID_trunk_2
hasexten = no
hasiax = no
hassip = yes
host = 216.82.224.202
registeriax = no
registersip = no
usecallerid = yes
nat = no ;Testing
trunkname = Bandwidth.com (Sip) ; GUI metadata
username
secret
disallow = all
allow = ulaw,alaw,g726
sip.conf
[general]
context = frombandwidth
;other variables, etc.
;Added according to Bandwidth.com's wiki entry. Changed to inband because we
were having DTMF issues.
[bandwidth.com_inbound]
host=216.82.224.202
port=5060
type=peer
disallow=all
allow=ulaw
dtmfmode=inband
canreinvite=no
reinvite=no
context=frombandwidth
nat=no
[bandwidth.com_outbound]
host=216.82.224.202
port=5060
type=peer
disallow=all
allow=ulaw
dtmfmode=rfc2833
nat=no
fromuser=11234567890
extensions.conf
[globals]
;?irrelevant stuff
trunk_1 = Dahdi/g1
trunk_2 = SIP/trunk_2
OUT_2 = SIP/bandwidth.com_outbound
;Took out the Set(GROUP()) because I moved it elsewhere to try and fix it
added all the phones when Asterisk calls agents on a Queue.
[frombandwidth]
;exten = _+1.,1,Set(GROUP()=SIPGROUP)
exten = _+1.,1,NoOp(FromCount=${GROUP_COUNT(SIPGROUP)})
exten = _+1.,n,Set(DID=${EXTEN:2})
exten = _+1.,n,Set(CALLERID(num)=${CALLERID(num):2})
exten = _+1.,n,Goto(DID_trunk_2,${DID},1)
;What we use to dialout. Try SIP trunks first, then Dahdi trunk as backup.
;This is where it breaks. I tried to make it so there can't be more than 2
calls on SIP channels at once.
;Since it counts the phone as a channel, and adds it to the group, I had to
use 4.
[internalphones]
exten = _1NXXNXXXXXX,1,Set(GROUP()=SIPGROUP)
exten = _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(SIPGROUP)} >= 4]?100) ;If the
group has 2 or more calls, do not dial.
exten = _1NXXNXXXXXX,n,NoOp(1NCount = ${GROUP_COUNT(SIPGROUP)})
exten
_1NXXNXXXXXX,n,Macro(trunkdial-failover-0.3,${trunk_2}/+${EXTEN:0},${trunk_1}/${EXTEN:0},trunk_1,trunk_2)
exten = _1NXXNXXXXXX,100,Playback(all-circuits-busy-now)
exten = _1NXXNXXXXXX,101,congestion()
exten = _1NXXNXXXXXX,102,busy()
;This is where incoming calls go to if I'm awake.
[DID_trunk_2_timeinterval_Awake]
exten = _NXXNXXXXXX,1,Set(GROUP()=SIPGROUP)
exten = _NXXNXXXXXX,n,NoOp(Open Count=${GROUP_COUNT(SIPGROUP)})
exten = _NXXNXXXXXX,n,Set(CALLERID(num)=1${CALLERID(num)})
exten = _NXXNXXXXXX,n,Goto(voicemenu-custom-1|s|1)
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.digium.com/pipermail/asterisk-users/attachments/20081010/467c3002/attachment.htm
Steve Totaro
2008-Oct-10 21:40 UTC
[asterisk-users] Configuring Bandwidth.com SIP trunks to prevent one-way audio
On Fri, Oct 10, 2008 at 5:17 PM, Kurt Knudsen <kurt.knudsen at gmail.com>wrote:> Hello, > > > > We have 2 SIP trunks from Bandwidth.com and if both are in use and someone > tries to dial out, they cause another call to get one-way audio (the caller > hears us, we cannot hear them). This happens 100% of the time and > Bandwidth.com doesn't offer any support. I don't see any setting that tells > Asterisk that there are 2 channels available from Bandwidth.com's IP. I'm > currently using, or attempting to use, groups to solve this problem, but > sometimes it works, sometimes it doesn't. It breaks when a call goes out on > a Queue, because it seems to add each phone to the group, which breaks my > GotoIf() statement. Here's some relevant information: > > > > Users.conf (added by Asterisk-GUI) > > [trunk_2] > > provider = Bandwidth (SIP) ; GUI metadata > > context = DID_trunk_2 > > hasexten = no > > hasiax = no > > hassip = yes > > host = 216.82.224.202 > > registeriax = no > > registersip = no > > usecallerid = yes > > nat = no ;Testing > > trunkname = Bandwidth.com (Sip) ; GUI metadata > > username > > secret > > disallow = all > > allow = ulaw,alaw,g726 > > > > sip.conf > > [general] > > context = frombandwidth > > ;other variables, etc. > > > > ;Added according to Bandwidth.com's wiki entry. Changed to inband because > we were having DTMF issues. > > [bandwidth.com_inbound] > > host=216.82.224.202 > > port=5060 > > type=peer > > disallow=all > > allow=ulaw > > dtmfmode=inband > > canreinvite=no > > reinvite=no > > context=frombandwidth > > nat=no > > > > [bandwidth.com_outbound] > > host=216.82.224.202 > > port=5060 > > type=peer > > disallow=all > > allow=ulaw > > dtmfmode=rfc2833 > > nat=no > > fromuser=11234567890 > > > > extensions.conf > > [globals] > > ;?irrelevant stuff > > trunk_1 = Dahdi/g1 > > trunk_2 = SIP/trunk_2 > > OUT_2 = SIP/bandwidth.com_outbound > > > > ;Took out the Set(GROUP()) because I moved it elsewhere to try and fix it > added all the phones when Asterisk calls agents on a Queue. > > [frombandwidth] > > ;exten = _+1.,1,Set(GROUP()=SIPGROUP) > > exten = _+1.,1,NoOp(FromCount=${GROUP_COUNT(SIPGROUP)}) > > exten = _+1.,n,Set(DID=${EXTEN:2}) > > exten = _+1.,n,Set(CALLERID(num)=${CALLERID(num):2}) > > exten = _+1.,n,Goto(DID_trunk_2,${DID},1) > > > > ;What we use to dialout. Try SIP trunks first, then Dahdi trunk as backup. > > ;This is where it breaks. I tried to make it so there can't be more than 2 > calls on SIP channels at once. > > ;Since it counts the phone as a channel, and adds it to the group, I had to > use 4. > > [internalphones] > > exten = _1NXXNXXXXXX,1,Set(GROUP()=SIPGROUP) > > exten = _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(SIPGROUP)} >= 4]?100) ;If > the group has 2 or more calls, do not dial. > > exten = _1NXXNXXXXXX,n,NoOp(1NCount = ${GROUP_COUNT(SIPGROUP)}) > > exten > _1NXXNXXXXXX,n,Macro(trunkdial-failover-0.3,${trunk_2}/+${EXTEN:0},${trunk_1}/${EXTEN:0},trunk_1,trunk_2) > > exten = _1NXXNXXXXXX,100,Playback(all-circuits-busy-now) > > exten = _1NXXNXXXXXX,101,congestion() > > exten = _1NXXNXXXXXX,102,busy() > > > > ;This is where incoming calls go to if I'm awake. > > [DID_trunk_2_timeinterval_Awake] > > exten = _NXXNXXXXXX,1,Set(GROUP()=SIPGROUP) > > exten = _NXXNXXXXXX,n,NoOp(Open Count=${GROUP_COUNT(SIPGROUP)}) > > exten = _NXXNXXXXXX,n,Set(CALLERID(num)=1${CALLERID(num)}) > > exten = _NXXNXXXXXX,n,Goto(voicemenu-custom-1|s|1) > > > > Thanks. > <http://lists.digium.com/mailman/listinfo/asterisk-users>Is your Asterisk box on a public IP or behind a NAT/Firewall? -- Thanks, Steve Totaro +18887771888 (Toll Free) +12409381212 (Cell) +12024369784 (Skype) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20081010/957b8def/attachment.htm
Kurt Knudsen
2008-Oct-20 18:17 UTC
[asterisk-users] Configuring Bandwidth.com SIP trunks to prevent one-way audio
The GotoIf works, because it does failover sometimes, just not all the time, I followed instructions from here: http://www.voip-info.org/wiki-Asterisk+cmd+GotoIf And it seems to work in other areas that I use it in a similar way. I only have the Set(GROUP()) when we are making outgoing calls on the SIP trunk or when there's an incoming call on the SIP trunk. Anything on Dahdi doesn't get included. I don't know how to tell my phones and channels apart, I'm not trying to add the phones to the group, just the channels. Can you paste some of your extensions.conf since you also use Bandwidth.com? Thanks. On Mon, Oct 20, 2008 at 8:30 PM, <zozo-007 at hotmail.com> wrote:> -- Kurt Knudsen wrote : > Hello, > > > > We have 2 SIP trunks from Bandwidth.com and if both are in use and someone > tries to dial out, they cause another call to get one-way audio (the caller > hears us, we cannot hear them). This happens 100% of the time and > Bandwidth.com doesn't offer any support. I don't see any setting that tells > Asterisk that there are 2 channels available from Bandwidth.com's IP. I'm > currently using, or attempting to use, groups to solve this problem, but > sometimes it works, sometimes it doesn't. It breaks when a call goes out on > a Queue, because it seems to add each phone to the group, which breaks my > GotoIf() statement. Here's some relevant information: > > > > Users.conf (added by Asterisk-GUI) > > [trunk_2] > > provider = Bandwidth (SIP) ; GUI metadata > > context = DID_trunk_2 > > hasexten = no > > hasiax = no > > hassip = yes > > host = 216.82.224.202 > > registeriax = no > > registersip = no > > usecallerid = yes > > nat = no ;Testing > > trunkname = Bandwidth.com (Sip) ; GUI metadata > > username > > secret > > disallow = all > > allow = ulaw,alaw,g726 > > > > sip.conf > > [general] > > context = frombandwidth > > ;other variables, etc. > > > > ;Added according to Bandwidth.com's wiki entry. Changed to inband because we > were having DTMF issues. > > [bandwidth.com_inbound] > > host=216.82.224.202 > > port=5060 > > type=peer > > disallow=all > > allow=ulaw > > dtmfmode=inband > > canreinvite=no > > reinvite=no > > context=frombandwidth > > nat=no > > > > [bandwidth.com_outbound] > > host=216.82.224.202 > > port=5060 > > type=peer > > disallow=all > > allow=ulaw > > dtmfmode=rfc2833 > > nat=no > > fromuser=11234567890 > > > > extensions.conf > > [globals] > > ;?irrelevant stuff > > trunk_1 = Dahdi/g1 > > trunk_2 = SIP/trunk_2 > > OUT_2 = SIP/bandwidth.com_outbound > > > > ;Took out the Set(GROUP()) because I moved it elsewhere to try and fix it > added all the phones when Asterisk calls agents on a Queue. > > [frombandwidth] > > ;exten = _+1.,1,Set(GROUP()=SIPGROUP) > > exten = _+1.,1,NoOp(FromCount=${GROUP_COUNT(SIPGROUP)}) > > exten = _+1.,n,Set(DID=${EXTEN:2}) > > exten = _+1.,n,Set(CALLERID(num)=${CALLERID(num):2}) > > exten = _+1.,n,Goto(DID_trunk_2,${DID},1) > > > > ;What we use to dialout. Try SIP trunks first, then Dahdi trunk as backup. > > ;This is where it breaks. I tried to make it so there can't be more than 2 > calls on SIP channels at once. > > ;Since it counts the phone as a channel, and adds it to the group, I had to > use 4. > > [internalphones] > > exten = _1NXXNXXXXXX,1,Set(GROUP()=SIPGROUP) > > exten = _1NXXNXXXXXX,n,GotoIf($[${GROUP_COUNT(SIPGROUP)} >= 4]?100) ;If the > group has 2 or more calls, do not dial. > > exten = _1NXXNXXXXXX,n,NoOp(1NCount = ${GROUP_COUNT(SIPGROUP)}) > > exten > _1NXXNXXXXXX,n,Macro(trunkdial-failover-0.3,${trunk_2}/+${EXTEN:0},${trunk_1}/${EXTEN:0},trunk_1,trunk_2) > > exten = _1NXXNXXXXXX,100,Playback(all-circuits-busy-now) > > exten = _1NXXNXXXXXX,101,congestion() > > exten = _1NXXNXXXXXX,102,busy() > > > > ;This is where incoming calls go to if I'm awake. > > [DID_trunk_2_timeinterval_Awake] > > exten = _NXXNXXXXXX,1,Set(GROUP()=SIPGROUP) > > exten = _NXXNXXXXXX,n,NoOp(Open Count=${GROUP_COUNT(SIPGROUP)}) > > exten = _NXXNXXXXXX,n,Set(CALLERID(num)=1${CALLERID(num)}) > > exten = _NXXNXXXXXX,n,Goto(voicemenu-custom-1|s|1) > > > > Thanks. > > -- > This message was sent on behalf of zozo-007 at hotmail.com at openSubscriber.com > http://www.opensubscriber.com/message/asterisk-users at lists.digium.com/10416933.html >