| Asterisk Support Forum Technical support, how-to guides, troubleshooting, and general assistance, from beginner to seasoned pro, this is where to discuss Asterisk, the most powerful open source PBX. |  | | 
February 19th, 2006, 03:37 PM
| | Member | | Join Date: Feb 2006
Posts: 35
| | SPA-3000 and Asterisk or Billing device/software Hello,
Now I got my SPA-3000 all configured, I need a way to setup fee/prepaid/credit service with another device that will work with my Sipura 3000.
I am using Broadvoice service and I know they have no way of controling calls to certain countries that are not part of their free/unlimited calls. I want people to call only the free countries and block the others from being called. I don't want my customers to call these parts of the world unless I can control the calls and charge them.
What are my choices?
Thanks alot all. | 
February 19th, 2006, 07:35 PM
|  | Senior Member | | Join Date: Aug 2004 Location: USA or Japan
Posts: 5,013
| | RE: SPA-3000 and Asterisk or Billing device/software You do not need to use any separate device. I have developed solutions for both Sipura and Asterisk (vanilla, not AMP) to accomplish this.
If you want to put this limitation in your SPA, plug this Dial Plan into Line 1 (or either Line of any Linksys/Sipura FXS device): Code: (1[2-9]xx[2-9]xxxxxxS0|01135[1238]xxxxx.|0113[012349]xxxxx.|011378xxxxx.| 0114[13456789]xxxxx.|011420xxxxx.|0115[456]xxxxx.|0116[0145]xxxxx.|011852xxxxxxxxS0| 0118[126]xxxxx.|011886xxxxx.|011972xxxxxxxxS0|0113[034]6!|01131[689]!|011324!|0113519!| 011352[269]1!|011352[269]8!|0113538!|011358[45]!|0113786!|011393!|0114[46]7!|011417[46-9]!|011420[679]!| 01147[49]!|011491[567]!|011549!|01143633!|011436[568]0!|0114366[34]!|011436[79]!|01143688!|01143711!| 011437[234]0!|011438[12]0!|01145[3-7]0!|01145[3-6]1!|01145[457]2!|0114588!|011485[01]!|011486[0469]!| 011488[89]!|01155xx[789]!|01156[89]!|011601!|011618916!|01161[145]!|01164[289]!|0116589!| 01181[789]0!|011821!|011852[689]!|0118613!|0118156!|011886[67]0!|0118869!|011972[56]!|011972[23489]2!|1441!| 1473!|1649!|1758!|1767!|1784!|1876!|1[26][68]4!|1[28]68!|124[26]!|134[05]!|167[01]!|18[06]9!|<00:>1[2-9]xx[2-9]xxxxxxS0| <00:>011[2-9]xxxxxx.)
This code (which is error-free only to the best of my knowledge) will block calls to all countries not included in the BV35 plan as well as calls to cell phones and premium numbers in countries that are included in the BV35 plan. The last two elements are special. They allow you to put two extra zeroes in front of any number and bypass the restriction to place a chargeable call.
If you prefer to do the blocking in Asterisk, you will need to add a context, [broadvoice-blocked], and add this context in the appropriate place in each Class of Service context in extensions.conf. Code: [broadvoice-blocked]
;
; Calls to destinations outside of the BV35 plan will be killed.
;
exten => _0112X.,1,Congestion
exten => _01135[04-79]X.,1,Congestion
exten => _0113[68]X.,1,Congestion
exten => _01137[1-79]X.,1,Congestion
exten => _01140X.,1,Congestion
exten => _01142[1-9]X.,1,Congestion
exten => _0115[0-3789]X.,1,Congestion
exten => _0116[236-9]X.,1,Congestion
exten => _0117XX.,1,Congestion
exten => _0118[03479]X.,1,Congestion
exten => _01185[013-9]X.,1,Congestion
exten => _01188[0-5789]X.,1,Congestion
exten => _0119[0-689]X.,1,Congestion
exten => _01197[013-9]X.,1,Congestion
exten => _0113[034]6X.,1,Congestion
exten => _01131[689]X.,1,Congestion
exten => _011324X.,1,Congestion
exten => _0113519X.,1,Congestion
exten => _011352[269]1X.,1,Congestion
exten => _011352[269]8X.,1,Congestion
exten => _0113538X.,1,Congestion
exten => _011358[45]X.,1,Congestion
exten => _0113786X.,1,Congestion
exten => _011393X.,1,Congestion
exten => _0114[46]7X.,1,Congestion
exten => _011417[46-9]X.,1,Congestion
exten => _011420[679]X.,1,Congestion
exten => _01147[49]X.,1,Congestion
exten => _011491[567]X.,1,Congestion
exten => _011549X.,1,Congestion
exten => _01143633X.,1,Congestion
exten => _011436[568]0X.,1,Congestion
exten => _0114366[34]X.,1,Congestion
exten => _011436[79]X.,1,Congestion
exten => _01143688X.,1,Congestion
exten => _01143711X.,1,Congestion
exten => _011437[234]0X.,1,Congestion
exten => _011438[12]0X.,1,Congestion
exten => _01145[3-7]0X.,1,Congestion
exten => _01145[3-6]1X.,1,Congestion
exten => _01145[457]2X.,1,Congestion
exten => _0114588X.,1,Congestion
exten => _011485[01]X.,1,Congestion
exten => _011486[0469]X.,1,Congestion
exten => _011488[89]X.,1,Congestion
exten => _01155XX[789]X.,1,Congestion
exten => _01156[89]X.,1,Congestion
exten => _011601X.,1,Congestion
exten => _011618916X.,1,Congestion
exten => _01161[145]X.,1,Congestion
exten => _01164[289]X.,1,Congestion
exten => _0116589X.,1,Congestion
exten => _01181[789]0X.,1,Congestion
exten => _011821X.,1,Congestion
exten => _011852[689]X.,1,Congestion
exten => _0118613X.,1,Congestion
exten => _0118156X.,1,Congestion
exten => _011886[67]0X.,1,Congestion
exten => _0118869X.,1,Congestion
exten => _011972[56]X.,1,Congestion
exten => _011972[23489]2X.,1,Congestion
exten => _1441X.,1,Congestion
exten => _1473X.,1,Congestion
exten => _1649X.,1,Congestion
exten => _1758X.,1,Congestion
exten => _1767X.,1,Congestion
exten => _1784X.,1,Congestion
exten => _1876X.,1,Congestion
exten => _1[26][68]4X.,1,Congestion
exten => _1[28]68X.,1,Congestion
exten => _124[26]X.,1,Congestion
exten => _134[05]X.,1,Congestion
exten => _167[01]X.,1,Congestion
exten => _18[06]9X.,1,Congestion
exten => _*670112X.,1,Congestion
exten => _*6701135[04-79]X.,1,Congestion
exten => _*670113[68]X.,1,Congestion
exten => _*6701137[1-79]X.,1,Congestion
exten => _*6701140X.,1,Congestion
exten => _*6701142[1-9]X.,1,Congestion
exten => _*670115[0-3789]X.,1,Congestion
exten => _*670116[236-9]X.,1,Congestion
exten => _*670117XX.,1,Congestion
exten => _*670118[03479]X.,1,Congestion
exten => _*6701185[013-9]X.,1,Congestion
exten => _*6701188[0-5789]X.,1,Congestion
exten => _*670119[0-689]X.,1,Congestion
exten => _*6701197[013-9]X.,1,Congestion
exten => _*670113[034]6X.,1,Congestion
exten => _*6701131[689]X.,1,Congestion
exten => _*67011324X.,1,Congestion
exten => _*670113519X.,1,Congestion
exten => _*67011352[269]1X.,1,Congestion
exten => _*67011352[269]8X.,1,Congestion
exten => _*670113538X.,1,Congestion
exten => _*67011358[45]X.,1,Congestion
exten => _*670113786X.,1,Congestion
exten => _*67011393X.,1,Congestion
exten => _*670114[46]7X.,1,Congestion
exten => _*67011417[46-9]X.,1,Congestion
exten => _*67011420[679]X.,1,Congestion
exten => _*6701147[49]X.,1,Congestion
exten => _*67011491[567]X.,1,Congestion
exten => _*67011549X.,1,Congestion
exten => _*6701143633X.,1,Congestion
exten => _*67011436[568]0X.,1,Congestion
exten => _*670114366[34]X.,1,Congestion
exten => _*67011436[79]X.,1,Congestion
exten => _*6701143688X.,1,Congestion
exten => _*6701143711X.,1,Congestion
exten => _*67011437[234]0X.,1,Congestion
exten => _*67011438[12]0X.,1,Congestion
exten => _*67011485[01]X.,1,Congestion
exten => _*67011486[0469]X.,1,Congestion
exten => _*67011488[89]X.,1,Congestion
exten => _*6701155XX[789]X.,1,Congestion
exten => _*6701156[89]X.,1,Congestion
exten => _*67011601X.,1,Congestion
exten => _*67011618916X.,1,Congestion
exten => _*6701161[145]X.,1,Congestion
exten => _*6701164[289]X.,1,Congestion
exten => _*670116589X.,1,Congestion
exten => _*6701181[789]0X.,1,Congestion
exten => _*67011821X.,1,Congestion
exten => _*67011852[689]X.,1,Congestion
exten => _*670118613X.,1,Congestion
exten => _*670118156X.,1,Congestion
exten => _*67011886[67]0X.,1,Congestion
exten => _*670118869X.,1,Congestion
exten => _*67011972[56]X.,1,Congestion
exten => _*67011972[23489]2X.,1,Congestion
exten => _*671441X.,1,Congestion
exten => _*671473X.,1,Congestion
exten => _*671649X.,1,Congestion
exten => _*671758X.,1,Congestion
exten => _*671767X.,1,Congestion
exten => _*671784X.,1,Congestion
exten => _*671876X.,1,Congestion
exten => _*671[26][68]4X.,1,Congestion
exten => _*671[28]68X.,1,Congestion
exten => _*67124[26]X.,1,Congestion
exten => _*67134[05]X.,1,Congestion
exten => _*67167[01]X.,1,Congestion
exten => _*6718[06]9X.,1,Congestion
This is a sample of my [international] Class of Service context, showing how calls must be screened through the [broadvoice-blocked] context before being allowed to be processed by [dial-broadvoice-2368]. Code: [international]
;
; Master context for unrestricted extensions
;
ignorepat => 9
ignorepat => 8X
exten => _X.,1,SetVar(MyName=CallerIDName)
exten => _X.,2,SetVar(FWD=out-fwd-412345)
exten => _X.,3,SetVar(BatNum=102)
exten => _X.,4,SetVar(BVoice=2368)
exten => _X.,5,SetVar(ENUMCIDNum=3601234567)
;exten => _X.,6,GoSub(try-enum-call,${EXTEN},1)
exten => _X.,6,NoOp(Reserved for ENUM)
exten => _X.,7,Goto(international-2,${EXTEN},1)
;
[international-2]
include => iaxtel700
include => broadvoice-411
include => dial-sipphone-3333
include => broadvoice-blocked
include => fwd-toll-free
include => dial-fwd-412345
include => dial-stanaphone-5555
include => dial-voicepulse-2222
include => dial-callpacket-1111
include => dial-vbuzzer-6666
include => dial-broadvoice-2368
include => dial-spa3k
include => default
__________________ Please do not send technical questions via PM.
Please post all questions to the forum. | 
February 19th, 2006, 10:24 PM
| | Member | | Join Date: Feb 2006
Posts: 35
| | Thank you so much for this dial plan. I cut and pasted it in my line1 and PSTN Line tabs and the world is HAPPY!!
Thank you so much, you are gifted if you came up with this. Only if I can begin to understand the pattern how you went about constructing this giant.
Thanks again.
baadiyo | 
February 19th, 2006, 10:36 PM
| | Member | | Join Date: Feb 2006
Posts: 35
| | One more thing, how about those who want to allow just the 21 country calling (the $19.99 deal)?
Thanks | 
February 20th, 2006, 12:36 AM
|  | Senior Member | | Join Date: Aug 2004 Location: USA or Japan
Posts: 5,013
| | Just add, for Asterisk: Code: [broadvoice-21-blocked]
;
; Calls to destinations outside of the BV21 plan will also be killed.
;
exten => _01130X.,1,Congestion
exten => _01135[128]X.,1,Congestion
exten => _011378X.,1,Congestion
exten => _011420X.,1,Congestion
exten => _01148X.,1,Congestion
exten => _0115[45]X.,1,Congestion
exten => _0116[04]X.,1,Congestion
exten => _0118[12]X.,1,Congestion
exten => _011972X.,1,Congestion
exten => _*6701130X.,1,Congestion
exten => _*6701135[128]X.,1,Congestion
exten => _*67011378X.,1,Congestion
exten => _*67011420X.,1,Congestion
exten => _*6701148X.,1,Congestion
exten => _*670115[45]X.,1,Congestion
exten => _*670116[04]X.,1,Congestion
exten => _*670118[12]X.,1,Congestion
exten => _*67011972X.,1,Congestion
or, for Linksys/Sipura: Code: 01130!|01135[128]!|011378!|011420!|01148!|0115[45]!|0116[04]!|0118[12]!|011972|
somewhere near the beginning of where you see the other elements with ! located.
__________________ Please do not send technical questions via PM.
Please post all questions to the forum. | 
February 20th, 2006, 01:01 AM
| | Member | | Join Date: Feb 2006
Posts: 35
| | Thank you Thank you. It is all PERFECT.. This is the best site with the best and professional site admins .
Cool!! | 
February 20th, 2006, 02:16 AM
| | Member | | Join Date: Feb 2006
Posts: 35
| | Just noticed that I can't call any number in my town. Before I was able to dial any numbers normally. Any clue?
Thanks | 
February 20th, 2006, 02:28 AM
| | Member | | Join Date: Feb 2006
Posts: 35
| | I can't even make calls to US number and Canada anymore???
What did I do wrong? Just to let you know I replaced all my dial plans with your suggestions. May be I need to add some back, but not sure which ones, because I don't want to make mistake and allow restricted number again.
Sorry for the lame questions.
Thanks again.
B
Thanks | 
February 20th, 2006, 03:48 AM
|  | Senior Member | | Join Date: Aug 2004 Location: USA or Japan
Posts: 5,013
| | I think it depends upon your definition of "normally". This Dial Plan requires that you dial all North American calls with 11 digits (1-xxx-xxx-xxxx) and has no provision for 7 digit dialing. If you require 7 digit dialing you need to add a Dial Plan element to achieve this, such as "<:1???>[2-9]xxxxxxS0", replacing the question marks with your particular Area Code.
__________________ Please do not send technical questions via PM.
Please post all questions to the forum. | 
February 20th, 2006, 03:56 AM
| | Member | | Join Date: Feb 2006
Posts: 35
| | Thanks for the reply.
I am little bit confused. All I want to do is dial area code + number for all of US and 1+ code+number for Canada.
What is the simplest DP element I can add in the DP you gave me. I did not understand replace the ??? with your area code. All of US/Canada code spelled out. Remember, I am trying not to reverse what I am doing intially.
Thanks
B |  | | | Thread Tools | | | | Display Modes | Rate This Thread | Linear Mode | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | |