Showing posts with label telecom. Show all posts
Showing posts with label telecom. Show all posts

Thursday, June 26, 2008

Do Not Disturb

I am anti-social. I hate crowds, meeting new people, meeting people that I already know. One of my biggest pet peeves is talking on the phone. If you call me, get to the point...don't just ramble on pointlessly keeping me tied up all night.

One of my dearest friends whom I love to spend time with is one of the worst offenders. She will often call and keep me on the phone for an hour or more. Last conversation that I had with her was to be short and sweet (as if I hadn't learned my lesson) so I called her back on my landline. This call cost me $11.20. She is "local long-distance" and my AT&T long distance is 10p per minute. If I called on my cell phone it would have been totally free. Next time I won't be so lazy.

Anyhow, I have had people enquire to me about Asterisk, the Linux-based phone system software. This is one piece of software that is probably worth its weight in gold.

Asterisk is a full-on software-based PBX; a phone system, if you will, just like those used in offices and businesses all around the globe. The difference here is that rather than be proprietary...Nortel Meridian phones only work on Nortel Meridian switches; they won't work on Avayas, NECs, Panasonics, Executones, etc. -- they aren't even interchangeable with Nortel's own Norstar PBXes...Asterisk can use standard analogue phones (with a proper adapter) or plain old IP phones from any manufacturer. I use Cisco 7900-series phones myself.

They system uses a powerful scripting language that lays out the call treatment. And believe you me, you can make they phone system do anything to a caller!

Here is a synopsis of what happens when a call comes in to my phone line...

First, the caller ID string is examined. If there is no caller ID string or if the string is "Private", "Unavailable" or something to that effect, the call is rejected with an announcement saying that we do not accept unidentified calls.

If there is a caller ID string, the call continues and the number is checked against a blacklist of numbers. If the number is on the list, the call is rejected with a rather rude announcement telling the caller they are blacklisted and to not bother calling back.

If that test is passed, then the number is checked against a graylist. The callers on this list may be mildly annoying and I may need to know what the call is in regards to, but not actually talk to anyone. These calls are shunted directly to voicemail.

In the final number test, the caller ID number is checked against a whitelist. These are calls of extreme importance and will bypass all further checking and start ringing the phones in the house for an extended period, up to one minute. This list is reserved for close friends, my parents and other non-annoying family members and people at work.

If the call goes through all these checks are is not rejected or shunted off to other places, then the call goes into what I call the generic tests.

First, the system checks the database to see if the "Systemwide Do-Not-Disturb" is turned on. If it is, then the call is shunted to voicemail. I can dial a number into any phone and turn this Systemwide DND on and off. This is especially useful if I am home from work early and want to take a nap.

Second, the system checks the database to see if the "Systemwide Time Restrictions" are turned on. If the time restrictions are NOT on, then the call proceeds through unhindered. If time restrictions are on, and there should be no reason for them to be off, the system checks the day and time...
  • Monday-Friday, 7am-6pm calls will be shunted directly to voicemail because I am probably not home.
  • Sunday-Saturday, 10pm-7am calls will be shunted directly to voicemail because I am probably asleep.
  • Otherwise, calls will continue unhindered.
If the call passes through all of this, only then will it ring the IP phones scattered throughout the house. It will, however, ring for only 30 seconds before going to voicemail.

During all this checking and ringing the phones, the caller will be treated to some pleasant music. If I do not answer, a pleasant voice will indicate that I am not available with a humourous reason why, before being sent off to voicemail.

Some of the funniest oneliners: Nobody is available to take your call...
  • they have been carried away by monkeys.
  • we're all busy with our hangovers.
  • we're off gambling and getting drunk.
  • Mike has been brutally murdered by the teletubbies.
  • all your base are belong to us.
  • abandon all hope ye who dial here.
It is a fun system to play with and surprisingly powerful. I have been able to do things with it that I could never do with my Nortel Meridian Option 11s at work. The best part is, all of the sound files for the annoucements are included and have been professionally recorded by a great voice.

If you would like more information about Asterisk, visit the project website at http://www.asterisk.org.

Monday, April 21, 2008

Happy Fun Asterisk: Emulate Nortel Meridian LD95/CPND in Asterisk with SCCP

If you are asking yourself "WTF?" in reference to the title of this post, well...so am I. LOL!

I run an Asterisk phone system at home. It is great for totally destroying telemarketers! If you don't know what Asterisk is, familiarize yourself here: http://www.asterisk.org.

I run two Nortel Meridian Option 11c phone switches at work, each in a separate building about 1km apart. They are connected together via our LAN and a T-1 tie line, and both run Succession 3.0.

For those familiar with Nortel Meridian switches, there is a program load of "95" that handles what is called the CPND database. CPND stands for "Calling Party Name Display", and is a database of directory numbers (local to the switch) that have names attached to them. So you can assign extension 100 to Suzy Lu and 101 to Billy Rex, etc.

If you have Asterisk, you can do similar with its built-in database services if you are running Cisco phones with the SCCP firmware and are using chan_sccp on your Asterisk box. On my home network, I have three Cisco 7912s and two Cisco 7940s running SCCP 8.0.

In the Asterisk database, I created a table called CPND and loaded it with my extensions and their associated names, thus:

database put CPND 210 Office
database put CPND 220 Living Room
...etc...


Using the application SetCalledParty() in the chan_sccp driver, you can then add a piece to your internal dialing macro...you DO have an internal dialing macro, don't you?...to force the display of the called party on the phone you are calling FROM. The phone you are calling TO gets the CPND information from the channel driver anyhow.

Here is my internal dialing macro with the database lookup information...

[macro-dialinternal]
exten => s,1,NoOp(*** Internal Call to Ext ${MACRO_EXTEN} < ${CALLERID(all)})
exten => s,n,GotoIf($[ ${DB_EXISTS(cpnd/${MACRO_EXTEN})} ]?cpnd:nocpnd)
exten => s,n(cpnd),SetCalledParty("${DB(cpnd/${MACRO_EXTEN})}" <${MACRO_EXTEN}>)
exten => s,n,Goto(dial)
exten => s,n(nocpnd),SetCalledParty("Internal" <${MACRO_EXTEN}>)
exten => s,n,Goto(dial)
exten => s,n(dial),Dial(${ARG1}/${MACRO_EXTEN},30,Ttr)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n(unavail),Voicemail(100,g(3))
exten => s,n,Hangup()
exten => s,n(busy),Voicemail(100,g(3))
exten => s,n,Hangup()

You don't explicitly need to use this feature. In fact, I didn't know about the application until I watched Asterisk load while debugging a dialplan issue. You can use the app to change the display to say whatever you want...

SetCalledParty("Mom's House" <2345678901>)
SetCalledParty("Joe's Crib" <8005551212>)
SetCalledParty("Jerks" <3178169336>)

This is a pretty useful app, but is only part of the chan_sccp driver and will probably only work on phones that use SCCP compatible firmware. I have not tried it on a SIP device, but I don't think it will do anything.

I hope to have more Happy Fun Blog Entries soon...

Wednesday, March 5, 2008

Phantom Pager Syndrome

I have a syndrome. I call it "Phantom Pager Syndrome". This is going to sound weird, but stay with me.

You see, I have had a pager, cell phone or both...sometimes even more than one each...since I have started working. That's about 17 years now.

I wear my pagers/cell phones on my belt, on the right side, just above my right leg. For the last few years, I have felt strange vibrations in this area...like a pager set on vibrate. I feel it all the time. Even now as I type this, it seems like someone is trying desperately to get hold of me.

I generally set any communications devices I have to ring and vibrate, because I can't always hear the ringing due to ambient noise or the speaker location versus the case muting the sound. When I feel a distinct vibration, I check and listen for the ring. I leave the ring turned all the way up because I don't hear very well anyhow.

Well, since I have the phantom vibrations, I'm checking my phone ALL THE TIME!

I have the most annoying ring that I could imagine. It is a ring that I like because it is loud and I keep the ringer volume all the way up. That way I have an incentive to answer it...to shut it up. It is called "Vintage Phone" and sounds like an old bell phone ringer. It is great! This way when my phone rings I can always tell it is mine. Plus, it is a unique ringing sound that is quite well done that I bought from a company that specializes in ambient sound effects called SoundRangers. I thought a unique solution such as this would a) annoy people, b) ensure that I know my phone is ringing and c) not be stupid like some other ringers I've heard like whatever the current popular top 40 hip-hop song is.

That is not to say that I don't have other ringers, for example...
- For my friend Chris, I have the theme to "Benny Hill", since he is always horny.
- For my boss, I have the "Imperial March" from Star Wars, since he's like Lord Vader sometimes.
- For my friend KL, I have the theme to "Dynasty" (an '80s prime-time soap) since everything she gets involved with has some kind of extreme drama.
- And for my co-worker APK from Sri Lanka I have the "Monkey" sound from the classic MacOS...it's been around since System 6. (Not very PC, I know!)

But these "Phantom Pages" are getting quite annoying. I started having problems back when I was working for the contract computer service company. At that time I was carrying two pagers and two cell phones! Thankfully, I have only one cell phone now...my own. If I didn't have to have it, I wouldn't!

In another related issue is the Nextel walkie-talkie feature. Not only is it annoying to see and hear people using this feature rather than holding a proper phone conversation (since we can now hear BOTH sides of the conversation) the chirp that it makes really bothers me. This is because I had a Nextel when I worked for the contract service company...every time that thing would chirp, I would cringe. It got so bad that at one point I thought I was going to go completely mad. All day long it would chirp with my boss or co-workers wanting something. Even to this day, hearing the Nextel chirp makes me shudder.

I suppose this is enough rambling for today...

Tuesday, February 26, 2008

Network

A person on a board I'm on asked what my home network was like. So, here it is...

Fig. 1: Network Rack

This is my network rack where all the network connection in my house land.

On the left side is the electrical box that my dad and I installed when we rewired the house.

On the right side is the coaxial connections for (top to bottom) DVB Satellite for free-to-air weird international programming, a splitter for over-the-air TV reception and a splitter for DirecTV satellite. Just slightly to the left of that is a "66-block" for telephone connections.

In the rack, from top to bottom are a Cisco 2924XL fast ethernet switch with a fiber-optic interface. Below that is the patch panel where all the network connections go. They are then patched in with "shorties" to the switch.

Below that is my router. It is a Cisco 3640 multi-slot router. In it I have a network module that has an ADSL adapter to interface to my DSL service, a fiber optic network module and a VPN concentrator module for encryption acceleration (for when I enable VPN connections back into my network, one of these days). Below that is a computer running linux and Asterisk which serves as my phone switch, receiving incoming and processing outgoing calls and is the signaling server for my Cisco IP phones.

The router connects to the switch by a fiber optic cable.

The router runs Cisco IOS 12.3 for IP networking, with active firewall, software. I have the firewall heavily restricted so pretty much nothing gets through except that which I want. It also features active packet scanning to check for and reject garbage and malformed packets.

Up and to the right, the gray box is a Cisco 1231g wireless access point. I have an antenna on the roof pointing to my parents' house, so they can get on the net, and an antenna in the ceiling in my hallway for my needs.

I have business-class DSL service with a block of 8 fixed IP addresses, and connect at 6 megabits down, 608 kilobits up. This is, unfortunately, the fastest DSL available right now.

So much for progress.

Monday, December 31, 2007

Evil is a Long Distance call...

I have a big interest in the phones and the phone company. I have always wanted to work for the phone company in a central office, and I would love to get my hands on a central office switch...like an AT&T 5ESS or Nortel DMS-100. Sure, playing with my Nortel Meridian PBXes at work and my Asterisk VoIP switch at home is cool, but I want to learn how the big boys do it. I try to learn all that I can about telecommunications technology, and any time I come across any news about telecom issues, I try to find out as much as I can about what is happening and how things work so I can get a good idea of what is going on.

There is a minor news story circulating about a town in Louisiana that was assigned a telephone prefix of 666. This seemed to be upsetting to a number of people in this small town, so they forced the phone company to get a new prefix. Their justification is that the number "666" is the mark of the beast. That is, the Devil.

This is not an old* a new story. I remember some years back a bible college in a town, I think in Virginia, got new phone lines and were assigned a 666 prefix. They didn't want it, so they asked their phone company for a different prefix, and the telco obliged.

NANPA is the North American Numbering Plan Administration. This is the company that is tasked with keeping our phone numbers straight, assigning new NPAs (area codes), handing out new central office codes (prefixes), and making sure there are enough numbers in an area code to cover the explosive growth of cellular phone users and what to do if an area code starts to run out. Their website is chock full of interesting information, and if you have any interest in how phone numbers are made, this is where to get your info. While NANPA covers the US and its possessions, it works closely with the CNA, or Canadian Numbering Administrator, to make sure everything is kosher since Canada is a plain old long distance call and has been fully integrated with our dialing plan since the late '40s.

I was bored, so I went to NANPA and CNA and did a little research on where there are active 666 prefixes in the US and Canada. I was surprised to find that there are 107 places that have 666 prefixes that are actively assigned. There are 115 records in all. Most of the remaining records have a status of "Unassignable", for whatever reason. This could mean that the people under the telco that wanted it in the first place found the prefix to be distasteful, so the telco returned it to NANPA and had it marked unassignable to prevent this from happening again.

It is just strange to me that some people go ape over the numbers "666" appearing in places. Phone numbers are more or less permanent, so I can kinda understand the issue there for believers since they don't want to be associated with the beast. But there are a number of stories out there of people coming unglued over a purchase at the megamart coming to $6.66. It is strange to me how people attach such significance to a number and/or its appearance. If the mark of the beast is "666", even though some are now suggesting that it is in fact "616", does this mean that it is six hundred sixty-six? Or is it a collection of three individual sixes? Why, then would a number 6.66 be construed as being evil? How about 6 33/50?

The UPC barcode was developed by NCR here in Dayton, Ohio** IBM and first used in a grocery store in Troy, Ohio...a town a few miles north of Dayton. The barcode has three check stripes, one on either end and one in the middle, that assure proper orientation of the barcode to the computer. It just so happens that the spacing of the check codes is the same as the number 6 in the rest of the code. This, of course, proves that barcodes are evil and they they will surely be used as the new, futuristic mark of the beast. I have even seen a Christian-themed movie about the rapture and second coming that depicted the use of tattooed barcodes as a tracking mark required by the antichrist. Of course, everyone knows that UPC barcodes are not evil because they contain "666", but simply because they were developed here in Dayton. Duh!

I have been in numerous buildings, especially hotels, where there is no floor 13. Here we have again another superstitious phenomena attaching some type of spiritual significance to a number. In Asian cultures, the number 4 is considered bad luck, whilst 9 is the greatest of luck. People in Asia and other parts of the world have been known to shell out huge fortunes for license plates for their cars featuring strings of lucky numbers..."9999999" and so forth.

It is just strange how such spiritual significance can be attached to a number. And it is stranger still how the concept of lucky and unlucky numbers vary from culture to culture. How long have we been programming ourselves to consider 13 quite unlucky, and that 666 is the number of the beast?

I could understand that someone might be a little perturbed if they moved to a new town and were assigned the Devil's old phone number. Imagine the wrong number calls you'd get to that number! It is, though, seemingly apropos that 666 is a prefix assigned for use in Salem, Massachusetts, the site of the Salem Witch Trials back in late 17th century.

For a list of the locations in the US and Canada of the most evil phone numbers, check out a synopsis of the NANPA and CNA prefix data I have compiled at http://www.sassie.net/snet/eviltel.txt.

EvilTel would be a great name for a phone company...

* not an old story? Then how have I heard of one before? Corrected 12/31/07. Duh...I'm such a dingleberry...I guess I need to start proofreading.
** it was not, in fact, developed by NCR as I found out. I guess I should check my facts, too!