QUESTION A2Billing - An Adventure in PBX Billing - Part 1

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
Really great article,something that was badly needed. I have a small issue, when I try to make a call, I get the IVR to enter pin, in spite of entering the the card no. as account code for the extension from which I try the outbound route configured for a2billing. Once I enter the card number, I'm again prompted to enter the destination number. I'm sure that's not the way its supposed to work. Can you please suggest where I could have gone wrong.

Hi Sunish - nice to see you posting in the forums.
I see you and Joe beat me to the fix - excellent! They key to your situation was the double prompt - and your solutions was exactly correct.

Tony
 

nsukho

New Member
Joined
Dec 25, 2008
Messages
14
Reaction score
0
Neil;
E911 is normally provided by your TSP, if they offer it. Sometimes special arrangements are needed in the PBX to support it, sometimes not. Can you tell me about which kind of E911 you are working with? Is it the service from voip.ms?
I just signed up for DID with Vitelity, also purchased their e911 service. How would I set the e911 service (dialplan, etc.) in my PIAF?
 

jroper

Guru
Joined
Oct 20, 2007
Messages
3,832
Reaction score
71
It would be best not to send calls out via A2Billling, just incase the caller had no credit,

So create a trunk to vitelity e911 service, and set an outbound route in FreePBX which should be first in the list which has dial rules in it like

911
9|911

Joe
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
:iagree:

Neil - I think Joe is bang-on all the way. I also want to remind you that testing your e911 service should not be undertaken lightly.

All calls that reach the 911 centers are handled as emergencies. If you just hang up, they sent the authorities to make sure your not under some sort of duress. When they find out the only duress your under is trying to test your e911 service - you will very likely be fined and chastised.

Some providers provide means to test your e911 service. Check with your proivder and very carefully follow their exact directions for proper (and fine-free) testing of the service.

Let us know how this all works out for you?
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
The Further Adventures in A2Billing – To the ‘Ends of the Earth’ with FollowMe

The Further Adventures in A2Billing – To the ‘Ends of the Earth’ with FollowMe


When it comes to offering features that extend the usefulness of the telephone, PBXIAF truly stands alone in a crowd – thanks to the expert blending of FreePBX, Asterisk and operating system. As we’ve learned in this series of articles, when you add A2Billing to the mix – an amazing variety of needs can be met – and billed for – with a little configuration here and there.

One of the coolest, most useful, and from my own experience most asked-for special functions is the FollowMe function – which has been a part of FreePBX for some time now.

Because of some perceived technical limitations in the interactions between A2B and FreePBX – we have have been unable to use FollowMe (and have those calls properly billed) in our Family Phone System. Until Now.

Previously – we counseled you to leave the extensions in your Family Phone System completely barren of follow me settings. By never initializing FollowMe for a particular extension, the VoiceMail Web Interface never allowed the end user to see the FollowMe settings – in other words “out of sight, out of mind”. Therefore, when we activate FollowMe for an extension in FreePBX, the VoiceMail Web Interface will automatically be enabled for your end users to manage and control their own FollowMe settings any time, 24/7.

Preparing System Recordings
When the system begins ringing the “Follow Me” numbers, I would like the system to let the caller know that this is occurring. There is a built in system recording perfect for this – so now we’ll make it available for use by FollowMe.

In FeeePBX, under Setup, System Recordings, select Built in Recordings.
In the drop down box, look for and select the recording called followme/status, and then click Go. From the next screen, Select SAVE.
This puts that recording on the list on the right, making it available to us to use.

Activating FollowMe for a Family Phone System Extension
From in the FreePBX Web UI, Under Setup, Extensions, select the extension for which you want to enable FollowMe. Then, Select Add Follow Me Settings.

Ring Strategy
The FollowMe ring strategy can not be changed from the end–user Web interface – so you will want to determine the way you want to offer Follow Me to the user(s).
Most likely, one of the RingAll strategies will be what you are looking for. Consider how the end user will be using this capability – and make the selection. We use Ringall-prim, which means the system will ring the primary number for the initial ring time, and then sequentially ring all the remaining numbers on the list, unless the primary phone is BUSY (already in use), in which case the remaining numbers will NOT be rung.

The ring times can be changed in the end user web ui.

Announcement
The announcement is played to the caller at the point where the main line has not been answered, and FollowMe is beginning to ring the list of numbers. In the drop down box, select the recording we made available earlier, followme/status.

Music On Hold
You may select any MOH class, NONE for silence, or ring to just have the user listen to ringing while it tries to hunt you down. Make a selection appropriate for your PBX.

CID Name Prefix
Allows you to pre-pend data to the start of the inbound caller id. Some users like the characters “(FM)” – to let them see at a glance that the call is arriving as a FollowMe call.

For the remainder of the setting, select choices that make sense for your PBX and users.

Destination if no Answer
Send it to the extension’s voice mail box – unless you have special circumstances.

When you have all the settings as desired, SUBMIT CHANGES, Apply and confirm your changes.

Special Provisions to Make A2B work correctly with FollowMe Calls
I have discovered that Egg (on my face) and Crow (on my plate) go down much nicer with a little A-1 sauce for flavor. I point that out because I am having an “Egg and Crow” moment right now.

Previously in this article thread – I told you that FollowMe didn’t work correctly with A2B, and that special changes would need to be made. After spending no small amount of time to “make it work” – I discovered, to steal a quote, that “reports of FollowMe/A2Billing issues have been greatly exaggerated”. In other words – the incompatibility was apparently fixed in a previous release of FreePBX – and there is no special code work around required.

As always – I’m interested to hear how your version of the Family Phone Project is coming along - let us know how its working out for you!

Until next time –
 

snapvox

New Member
Joined
Feb 21, 2009
Messages
2
Reaction score
0
FollowMe Not working

First off, thanks for the hard work you put in to make this possible. I am using the same features to start a phone system for the local churches in MI who are having a hard time these days.

I thought followMe was working when I tried calling from extension to extension. It WORKED!!! I jumped for joy and called a friend.

I then tried it from an IVR on an incoming line. It didn't work.

I have figured out that it uses the callers (Not called user) account code.

Is this what you have found, and this is something that may be worth looking into. I have upgraded to the latest version of FreePBX.
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
Tell us more about your present call flow, and what you would like to achieve. Tell things like the exact inbound call flow and routing, etc.
 

jroper

Guru
Joined
Oct 20, 2007
Messages
3,832
Reaction score
71
This was my worry, and possibly why I gave Tony the impression that it did not work, although the experiments were lost in the mists of time.

The key is that A2Billing can either authenticate on either the account code, or the caller ID.

Tony has described the method of authentication of account code.

The accountcode needs to be set in the dialplan somewhere before passing the call onwards, so it may take some more investigation as to which circumstances it is set, and which circumstances it is not.

The tests Tony and I did recently seemed to suggest that that a followme with a call from the outside world appear to work.

Keep us updated with your findings.

Joe
 

snapvox

New Member
Joined
Feb 21, 2009
Messages
2
Reaction score
0
Currently I am not routing incoming calls through a2, I bet that is how you are seing it working. the account code tied to that DID must be carried through the rest of the call.I am working on billing incoming, I will let you all know of the result when I get it working.
 

wheel

New Member
Joined
Feb 22, 2009
Messages
3
Reaction score
0
inbound DID call from FreePBX to A2B

Hey tshif,
Very nice tutorial, tones of useful info from one source.
Thanks for your time.
But there is always something to fight with.
I'm trying to forward inbound DID call from FreePBX to A2B using Custom created Destination 'A2B-DID', but have no luck so far. Here is what I have from asterisk CLI:
== Parsing '/etc/asterisk/asterisk.conf': Found
Connected to Asterisk 1.4.22-3 RPM by [email protected] currently running on trixbox1 (pid = 2563)
Verbosity is at least 3
-- Executing [XXXXXX2222@from-trunk:1] NoOp("SIP/1104269540-095fc4e0", "Catch-All DID Match - Found XXXXXX2222 - You probably want a DID for this.") in new stack
-- Executing [XXXXXX2222@from-trunk:2] Goto("SIP/1104269540-095fc4e0", "ext-did|s|1") in new stack
-- Goto (ext-did,s,1)
-- Executing [s@ext-did:1] Set("SIP/1104269540-095fc4e0", "__FROM_DID=s") in new stack
-- Executing [s@ext-did:2] Gosub("SIP/1104269540-095fc4e0", "app-blacklist-check|s|1") in new stack
-- Executing [s@app-blacklist-check:1] LookupBlacklist("SIP/1104269540-095fc4e0", "") in new stack
-- Executing [s@app-blacklist-check:2] GotoIf("SIP/1104269540-095fc4e0", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/1104269540-095fc4e0", "") in new stack
-- Executing [s@ext-did:3] ExecIf("SIP/1104269540-095fc4e0", "0 |Set|CALLERID(name)=XXXXXXXXXX") in new stack
-- Executing [s@ext-did:4] Set("SIP/1104269540-095fc4e0", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [s@ext-did:5] SetCallerPres("SIP/1104269540-095fc4e0", "allowed_not_screened") in new stack
-- Executing [s@ext-did:6] Goto("SIP/1104269540-095fc4e0", "custom-a2billing-did|s|1") in new stack
-- Goto (custom-a2billing-did,s,1)
exit
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
Thanks for the very kind words. I'm fascinated to see you doing this on a trixbox. It will be most interesting to see how it turns out for you!

Now, to your situation - To what context does custom destination 'A2B-DID' currently point? Please show us the context details -
tshif
 

wheel

New Member
Joined
Feb 22, 2009
Messages
3
Reaction score
0
sorry tshif, I was out on business trip.
That's a good question regarding context details, because I'm not quit sure how exactly inbound calls get routed into A2B sip friend. If you can provide more detail on it, it definitely speed up process. So far I just followed steps described here:
  1. created did group 1
  2. added my DID number there
  3. assigned destination to that DID
  4. created Custom Destinations: A2B-DID and forwarded inbound call to it
Magic did not happen, it's not sending call to DID. according to previously posted log, for some reason it show DID=s (not sure what it is), but it should be XXXXXX2222.
I did NOT create inbound trunk, could it be a reason why it fails?
Thank you
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
You do need an inbound route for your DID. Remember, the call comes in to FreePBX first, then FreePBX turns it over to A2B.

Let us know if the inbound route resolves this for you.
 

wheel

New Member
Joined
Feb 22, 2009
Messages
3
Reaction score
0
tshif,
for successfully terminate inbound call, should I have A2B customer card number created as a FreePBX extension as well?
Looks like duplicated record.
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
No - make your extensions any pattern you like (3 digit, 4 digit, etc).

It sounds like you need to create the Destination in A2B for the extension you are routing the call to.

Simply, it works like this for inbound calls:
Received by FreePBX => A2B/DID => A2B Rates Inbound Call => A2B routes call to the Destinationa extension for this DID.
 

Phone_User

Guru
Joined
Jun 9, 2008
Messages
314
Reaction score
0
Invoices and Email Invoices

Excellent article. One thing I cant seem to figure out is how to change the defaults for the email that is sent out if you are emailing an invoice.

They all say from [email protected]. Also I would like to change the text in the email body.

Can some one direct me to where I can change this.

Thanks
 

tshif

Guru
Joined
Jan 3, 2008
Messages
1,240
Reaction score
4
The Further Adventures in A2Billing – Conference Rooms - Part 1

The Further Adventures in A2Billing – Conference Rooms

Conference rooms might seem an odd thing to want in a home phone system, but if you think about it a bit more, it’s not so odd after all.

With analog phones in the house, if you want to conference call, you just pick up another extension and start yakking. It’s not such an unusual thing to want to be able to do. To conference with VoIP, you need a conference room.

If you suddenly decide you want to share your phone call with others in the house, you can transfer it to the Conference room, and then dial yourself into the conference. Other household member’s merely pickup their closest phone and dial into the conference room. Viola! Instant family wide participation in the same call.

Of course, it doesn’t stop there. We will add a way for outside callers to access the Conference Room directly – so Auntie Matilda from Hoboken with nothing but a cell phone, and Cousin what’s his name living all the way in Saskatoon Saskatchewan with analog PTSN, can call into a DID, and join the rest of the family those monthly family round table chats.

Of course, Aunt Matilda and our Saskatoon connections inbound calls have to be billed at our end.

As I’m sure you’ve guessed by now, we are talking about using a combination of A2Billing, and FreePBX conferences for this task.

Using the Conference
Getting a local (I.E., extension) user into the conference is easy enough. Just transfer them to extension (or Feature Code) of the conference room. Make sure you give them the conference ID and user PIN before your transfer them or they won’t be able to get in! Local extensions using the conference room do so without charge – the same as extension to extension calls.

Adding Outside Access – and a Security Warning
Getting outside user into the conference requires a DID. A dedicated DID allow outside callers to reach the Conference room. They still need the user PIN to access the conference, but think about that for a moment, and your “Spidey senses” should start to tingle. The PINs would become known to casual attendees, who could then later come back and use the system without authorization.

So keeping in mind all the family conference users are trusted, we might be able to get away with static conference rooms with static pins. But, where security is involved – ‘might’ just doesn’t get the job done for me.

The good news is, there is a tool available that will allow us to create conference rooms that are only valid for a certain number of days or hours. Outside the specified life span of the conference, the pins are meaningless; nonfunctional. That tool of course is Web MeetMe.

However – the current version of WebMeetMe available via script for PBXIAF is, to state it very nicely, in pretty ruff shape. Lots of the pages crash, or don’t work, and there are some security concerns over SQL injection that may be lurking in the current PBXIAF version. So before we begin using it as part of our solution, we need to fix a few things.

Upgrading WebMeetme
The good news is that forum friend and resident guru Joe Roper has created a script to do exactly that – expressly for us PBXIAF users! This not-compiled script (open source should mean open source, right?) installs the most current version of WebMeetMe, and includes many fixes and repairs over what’s currently in the svn. In addition, Joe and I worked to create a module “front end” for this impressive package that handles the creation of the dial plan – so there no conf file editing to be done at all. For a first time install, its as simple as
    • Run the installation script
    • Install the module
    • Start using WebMeetMe.
Prerequisites
If you have installed the standard PBXIAF WebMeetMe script as it exists today – that version should be removed to assure a straight forward install of this new upgraded version. If you don’t do this Web MeetMe will be crushed – and will not work any more. Removal is simple, and should take less than 5 minutes.

This program and process were developed expressly for, and have been tested only with PBXIAF. On other distros, your mileage may vary.

Removal of previous Web MeetMe
1. From your PBXIAF, remove the entire folder:
/var/www/html/web-meetme

2. From inside /root/, delete all scripts with the characters “meetme3” in them. (install-meetme3.x, or if your trying to run this script again, also remove piaf-wmm.sh)

3. Using the FreePBX Config Editor, in From inside extensions_custom.conf, remove the following contexts in their entirety:
[mm-announce], [mm-end], and [custom-meetme3]

4. Remove (or don’t) any FreePBX Custom Destinations you have created to use the Previous install of Web MeetMe. The custom destination code (custom-meetme3,s,1) is the same for both versions of Web Meetme, so you’ll very likely still need these – and would just end up creating them again) Either way, the new install will create a Custom Destination for use with Web MeetMe – which you may use or ignore.

5. Remove any FreePBX Misc Applications you have created to use the previous install of Web MeetMe. This step is important – the new version creates its own Feature Code to replace the Miscellaneous Application. Because we have created a module for Web MeetMe, you will now have a feature code to dial – which can be configured from the FreePBX feature code page.

6. Remove the KennonSoft menu Web-MeetMe Icon.
From inside /Var/html/welcome/.htindex.cfg, locate and delete the line that looks something like this:
[FONT=&quot]1,meetme,./web-meetme,Web MeetMe3,ico_meetme.png[/FONT]

Don’t forget to save your changes!

7. Remove Previous Web Security Settings
The previous versions of Web MeetMe create entries in the web security control file, as does this new script. In order to prevent unnecessary build up in the file, the previous installs entries should be removed.

In /etc/pbx/httpdconf/pbx.conf, locate and remove the block that looks like this:

#Password protect /var/www/html/web-meetme
<Directory /var/www/html/web-meetme>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /usr/local/apache/passwd/wwwpasswd
Require user wwwadmin maint meetme
</Directory>

Don’t forget to save your changes.

8. Optional: Remove Web MeetMe database.
If you don’t want to keep any of your current Web MeetMe configurations or meeting schedule data (you want a “clean” install), you may use phpMyAdmin to drop the meetme database from the system. From inside phpMyAdmin, select the webmeetme database. Then, in the upper right hand corner, click DROP. Be careful, if you’ve selected the wrong database – there is no recovery.

The database has not changed between the versions of Web Meetme – if you leave your existing Database, it will be adopted and used just fine by the new install.

Now your ready to perform the new installation.

[FONT=&quot]See The Further Adventures in A2Billing – Conference Rooms - Part 2
[/FONT]
 

Members online

No members online now.

Forum statistics

Threads
25,782
Messages
167,509
Members
19,202
Latest member
pbxnewguy
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top