Tag Archives: VOIP

Bria Android Smartphone App

I have been testing several free SIP Apps to go along with my FreePBX Asterisk server and after using an excellent app CSipSimple for a while I wanted to test how one of the paid variants would compare.

This had me looking right at CounterPath Corp’s Bria VoIP Softphone for Android. An app suited for corporations needed and at this point my own. It simply works great right out of the box. I had this setup in under five minute’s time. The sound quality is crisp both on 3G (H+) and Wireless There are many advanced features that I haven’t even played with yet. I may not need to as there doesn’t seem to be a need to fix what isn’t broken at this point.

The phone device I am using is a Samsung Galaxy S2 (i777 AT&T model).

For those of you who are serious about the applications you use and want to use a reliable one this is the app for you. Best of all, there is customer support if I find myself needing them.

 

Highlights

  • Highly secure, SIP-based softphone with exceptional voice quality
  • Purchase in-app Premium Features like Video Calls, Presence and Messaging or audio codecs to enhance your mobile softphone experience
  • Pre-defined VoIP Providers list available when adding new accounts on the Accounts screen
  • Multi-tasking support for background operation, such as fielding incoming calls while using other applications
  • Available in the following languages: English, Chinese (Simplified and Traditional), French, Japanese, Korean, Russian and Spanish.
  • Winner of the 2011 Product of the Year Award from Communications Solutions
  • Winner of the 2011 Product of the Year Award from INTERNET TELEPHONY Magazine

Telephony Features

  • Multiple account support for up to 12 accounts on any SIP-compliant server
  • Contact List leveraging the device’s native contact directory
  • Call display and voicemail indicator
  • Speakerphone, mute and hold functions
  • Call history with a list of received, missed and dialed calls
  • Ringtones and contact avatars
  • Dial plan support
  • Multiple call support – swap between two active calls, merge and split calls, transfer calls (attended and unattended)
  • Audio codecs include G.711 a/u, G.722 (HD), iLBC, GSM and SILK
  • Automatic codec selection to ensure optimal call quality
  • Support for DTMF: the ability to enter numbers to use an auto attendant via RFC 2833, SIP INFO and in-band
  • VPN support

Advanced Features

  • NAT traversal
  • Application managed, server managed or user specified
  • Global IP support
  • STUN and ICE
  • Media efficiency and quality
  • Noise Reduction
  • Echo cancellation
  • VAD (Voice Activation Detection)
  • QoS (Quality of Service)
  • ToS Marking
  • Security and encryption
  • TLS and SRTP (secure call signaling and audio encryption)
  • Logging support for trouble shooting
  • DNS SRV record lookups
  • Call quality statistics
  • VPN Support

Accessories

The following accessories are supported:

  • Headset with microphone: Bria uses the ear-piece and microphone on the headset.
  • Headphones (no microphone): Bria uses the ear-piece on the headphone and the built-in microphone on the phone.
  • Bluetooth™ support: dependent on Android device and operating system.

ITSP/Operator/Enterprise Features

  • Bria Android includes features specifically designed for business and enterprise users, including:
  • Optional customized branding for graphic assets and SIP settings
  • Additional security settings

Feature Info Source: CounterPath’s Website

I’m Running FreePBX & Asterisk (Ver. 1.8.9.3)

Well this IT guy is happy about his work installing and setting up Asterisk / FreePBX + Google Voice.
I now have a cool little system that will allow for me to use the full “FREE” part of Google Voice and the power of a PBX System

Who could ask for anything more?   OK!  I can, but will wait.

I was wrong AT&T is NOT blocking my SIP

Well a bit of egg on ones face isn’t a bad thing.  Failure to admit to it is…

So I was thinking about this issue during my date around the house and playing with the kids and when I had some time to review what was going on I got to thinking.  Perhaps this is an issue with just voice because my SIP phone does register, and I am able to answer the calls.  I simply am not hearing any audio and the the call drops off.

So I found an a few posts about what changes others made. And eventually one of the procedures worked well for me.

Doing the following has resolved my issues. And YES!  SIP is working over the AT&T 3G Network.

Sorry AT&T I was quick to blame ya…

 

Made sure my system knew its name

nano /etc/hosts

look for this line:

127.0.0.1 localhost

DO NOT REMOVE OR CHANGE THAT LINE. On a NEW, place this line:

127.0.0.1 jermsmit.com

But substitute YOUR address, of course.

Add some information to your /etc/asterisk/sip_nat.conf file
If this file doesn’t exist you’ll have to create it, but make sure that the ownership and permissions match those of sip.conf and other files in that directory. You can use the command to create the file if it doesn’t exist.  In my case it did.

touch /etc/asterisk/sip_nat.conf

nano /etc/asterisk/sip_nat.conf

Now edit the file and insert AT LEAST these two lines:

externip=your.external.dotted.IPaddess

localnet=192.168.0.0/255.255.255.0

The above localnet line assumes that your local network uses 192.168.0.x addresses, but if it uses something else, make the appropriate substitution.

I use only these four lines, as follows:

nat=yes

externip=your.external.dotted.IPaddess

fromdomain=foo.dyndns.com

localnet=192.168.0.0/255.255.255.0

 

Reload SIP

After you have added whichever lines you need in sip_nat.conf, go to the Command Line Interface and type

# asterisk -r

*CLI> sip reload

And hit enter. Alternately you could restart Asterisk, but that will interrupt any calls that are in progress.

 

Be sure to have opened the SIP and RTP ports to your Asterisk server via your firewall.

You must make sure that you open the correct UDP ports in your router’s firewall and pointed at your Asterisk server. For SIP protocol, open UDP (NOT TCP) port 5060 (SIP) AND ports 10001-20000 (RTP, which must also be defined in /etc/asterisk/rtp.conf, see below).

Check your /etc/asterisk/rtp.conf file

It should contain these two lines like this:

rtpstart=10001

rtpend=20000

I then saved my config and restarted my services with the command

# amportal restart

After that I placed a test inbound call to my SIP registered device sitting on 3G and I could hear my audio…  I then placed the call on hold, 30 min’s so far, and the default FreePBX on hold music isn’t that bad… However I will be looking for a way to change it

Thanks again for reading the above.

 

 

 

 

Followup: Google Voice to FreePBX

In a previous post I wrote about  Adding Google Voice to FreePBX

After a lot of tinkering and research I was able to get inbound dialing to my assigned extension working.

I tell you think much, it wasn’t simple for me to understand and I may play around with setting this thing up a few more times so that I get a full grasp of it all.

I just wanted to take some time and share the three config I have that make this possible.

 

gtalk.conf

[general]
allowguest=yes
context=from-google
bindaddr=0.0.0.0
externip=aa.bb.cc.dd ; if you know your external ip addr
stunaddr=stun01.sipphone.com ; use STUN if you’re on dynamic IP and NAT

[guest]
disallow=all
allow=ulaw
context=from-google
connection=asterisk

 

jabber.conf

[general]
debug=yes
autoprune=no
autoregister=yes

[asterisk]
type=client
serverhost=talk.google.com
username=youruser@gmail.com/asterisk
secret=yourpassword
port=5222
priority=100
usetls=yes
usesasl=yes
status=Available
statusmessage=”I am an Asterisk Server”
timeout=100
keepalive=yes

 

extensions_custom.conf

[from-google]
exten => youruser@gmail.com,1,Set(CALLERID(name)=${CUT(CALLERID(name),@,1)})
exten => youruser@gmail.com,n,GotoIf($["${CALLERID(name):0:2}" != "+1"]?notrim)
exten => youruser@gmail.com,n,Set(CALLERID(name)=${CALLERID(name):2})
exten => youruser@gmail.com,n(notrim),Set(CALLERID(number)=${CALLERID(name)})
exten => youruser@gmail.com,n,Wait(3)
exten => youruser@gmail.com,n,Answer
exten => youruser@gmail.com,n,Wait(6)
exten => youruser@gmail.com,n,SendDTMF(1)
exten => youruser@gmail.com,n,Goto(from-trunk,##########,1)
exten => h,1,Macro(hangupcall,)

[asterisk]
exten => _X.,1,Dial(Gtalk/youruser/+${EXTEN}@voice.google.com)
exten => _X.,n,Noop(GVoice Call to ${EXTEN} failed)
exten => h,1,Macro(hangupcall,)

 

After the above configuration you need to go into the FreePBX GUI and do the following:

First, create a new Inbound Route, using the following settings:

DID Number: 0000000000
CID Lookup Source: If you have a Caller ID lookup source available (such as the
Caller ID Superfecta) I suggest that you enable it, because Google Voice
does not pass Caller ID names.
Destination: Don’t forget to choose one!
Then click “Submit”.
Second, create a CUSTOM Trunk, using the following settings:

Trunk Name: GV_jermsmit
Dialed Number Manipulation Rules: Create one rule as follows: 1+NXXNXXXXXX

In other words, place 1 in the first text box (before the + sign) and
NXXNXXXXXX in the third text box on the same line.

Custom Dial String: local/$OUTNUM$@gvoice-jermsmit

Then click “Submit Changes”. If a popup appears complaining that you did
not set an Outbound Caller ID you can dismiss it and proceed.

Third, configure one or more Outbound Route(s) to use the trunk you just created.

If you want to restrict use of the route to just one extension or a group of
extensions, you can specify those extension using the “match pattern”
(fourth) field of each of your “Dial Patterns that will use this Route.”

Such routes much be placed above (higher in priority than) any other routes containing the same or similar dial patterns but no extension restrictions.

When you are all finished don’t forget to do an orange bar reload in FreePBX.
Then from the Asterisk CLI issue one of the following commands to restart
Asterisk:

core restart when convenient (to wait until there are no active calls)
core restart now

And to quote a trusted technical source:

PL  -  Core reload should also work, but without dropping you back to the shell.

Adding Google Voice to FreePBX

I followed the following steps to setup my new FreePBX Server with Google Voice.
I am happy to say it works for the most part, however inbound calls are not making it.  All in all this was a good learning experience:

*UPDATE*  I have made a follow up with my working configuration files

 

How To Add Google Voice To FreePBX

Part 1: In the shell

  1. Refer to the Asterisk Wiki: Calling Using Google. We’ll be following that as our guide.
  2. From the command line, as user root or asterisk, verify that the res_jabber and chan_gtalk modules are loaded.
    • [root@asterisk18 ~]# asterisk -rx "module show" | grep res_jabber
      res_jabber.so                  AJI - Asterisk Jabber Interface          0
      [root@asterisk18 ~]# asterisk -rx "module show" | grep chan_gtalk
      chan_gtalk.so                  Gtalk Channel Driver                     0
    • If one or both of those grep commands returns nothing, you need to build the modules (don’t forget to have OpenSSL development libraries installed) and make sure they are loading at Asterisk startup (autoload=yesOR load => res_jabber.so and load=> chan_gtalk.so in /etc/asterisk/modules.conf).
  3. There are three config files in /etc/asterisk to edit by hand (use vinanoemacs or whatever you like): jabber.conf, gtalk.conf, and extensions_custom.conf.
    • jabber.conf - Edit or replace jabber.conf to follow what is listed in Calling Using Google, and which I am pasting almost verbatim here. (I removed debug=yes.) This establishes the XMPP connection.[general]
      autoprune=no
      autoregister=yes
      [asterisk]
      type=client
      serverhost=talk.google.com
      username=your_google_username@gmail.com/asterisk
      secret=your_google_password
      port=5222
      priority=1
      usetls=yes
      usesasl=yes
      statusmessage=”I am an Asterisk Server”
      timeout=100
    • gtalk.conf - Again referring to the Asterisk wiki, edit gtalk.conf thus:[general]
      context=from-google
      allowguest=yes
      bindaddr=0.0.0.0
      ;externip=1.2.3.4 ; if you know your external ip addr
      stunaddr=stun01.sipphone.com ; use STUN if you're on dynamic IP and NAT
      [guest]
      disallow=all
      allow=ulaw
      context=from-google
      connection=asteriskSome notes about gtalk.conf:

      • Use context from-google, which we will set up in the extensions_custom.conf.
      • connection=asterisk must match the connection definition (in square brackets) in jabber.conf.
      • Use externip or stunaddr to get your external IP address if you’re behind a NAT.
    • extensions_custom.conf - Make a section like this:[from-google]
      exten => s,1,Answer()
      exten => s,n,Wait(2)
      exten => s,n,SendDTMF(1)
      exten => s,n,Set(CALLERID(num)=${CUT(CALLERID(name),@,1)})
      exten => s,n,Set(CALLERID(name)=${CUT(CALLERID(name),/,1)})
      exten => s,n,Goto(from-trunk,YOUR-GV-NUMBER,1)
      exten => s,h,Hangup

      • Replace YOUR-GV-NUMBER with your Google Voice DID.
      • The Set commands fix up the caller ID to get rid of the long XMPP ID that is passed on an inbound call.
  4. Once these files are in place, restart Asterisk (amportal restart).
  5. Issue the following command to see that the XMPP connection to Google Talk has been established:# asterisk -rx "jabber show connections"
    Jabber Users and their status:
    User: ...@gmail.com/asterisk     - Connected
    ----
    Number of users: 1
  6. Now you’re ready to set up a Google Voice trunk and inbound and outbound routes in FreePBX.

Part 2: FreePBX

  1. Add a new Custom Trunk.
    • Trunk name: Google Voice
    • Outbound Caller ID: put your Google Voice DID, even though this will be ignored (GV always uses your GV number for the outbound Caller ID)
    • Dialed Number Manipulation Rules: Google Voice requires that the number be a full 11 digits, starting with 1. Either here or in your outbound route (or both), make sure you are sending a full 11-digit number.
    • Custom Dial String: This is the most important part. Entergtalk/asterisk/+$OUTNUM$@voice.google.com where asterisk matches the client definition in your jabber.conf (in square brackets). If you’ve followed this how-to exactly, then this line is correct.
    • Submit changes.
  2. Add a new Outbound Route.
    • You can send any US domestic calls through Google Voice. Just configure an appropriate outbound route and select Google Voice as the trunk. I configured 11-, 10-, and 7-digit dialing within my own area code.
  3. Add a new Inbound Route.
    • Refer back to this line you entered in extensions_custom.conf: exten => s,n,Goto(from-trunk,YOUR-GV-NUMBER,1) Whatever you entered for YOUR-GV-NUMBER will be the DID you use for your inbound route.
    • Description: Google Voice (or whatever you want)
    • DID Number: YOUR-GV-NUMBER
    • Other stuff: defaults
    • Destination: wherever you want the incoming call to go.
  4. Submit all changes and apply configuration. Done! You have added a Google Voice two-way trunk to FreePBX and can use it in your inbound and outbound routing. Don’t forget to log in to Google Voice and select Google Chat (…@gmail.com) as the phone to which your incoming calls are forwarded!

 

A big thanks and all credit to the guys over at PSU VoIP

Skype Disruption

Today I find myself slightly frustrated when  I attempted to load Skype @ my office.  To my surprise Skype is having issues yet again all following its acquisition to Microsoft’s hands. Announced on the heartbeat page http://heartbeat.skype.com was the following.

“A configuration problem has meant that some of you have been disconnected from Skype.

We’ve identified the cause of the problem, and have begun to address it. If you’ve been affected, you should start to see improvement in the next hour or so. You shouldn’t need to manually sign back in to Skype – it should reconnect automatically when it’s able to do so.

We apologize for the disruption to your conversations.”

 

Later adding the following as an update:

“We are continuing to address today’s problems, and are seeing indications that the situation is improving.

If you were disconnected from Skype earlier, you shouldn’t need to manually sign back in to Skype – it should reconnect automatically when it’s able to do so”

 

 

Skype’s outages are coming during a transitional time for the company. Last month, the software giant announced plans to acquire Skype for $8.5 billion. Once the deal closes later this year, Skype will become its own division at Microsoft under the supervision of its current CEO Tony Bates. Microsoft has said that it plans to integrate Skype into its Kinect motion-gaming peripheral, Windows Phone 7, and other platforms.

Welcome to Google Voice

Google Voice, the popular and often controversial VoIP, voicemail, and messaging service from Mountain View search giant Google is now open for anyone in the U.S. to use. Previously, you could only open a Google Voice account if you received an invitation from a user already participating in the program.

Quote from the people at Google:

“We’re proud of the progress we’ve made with Google Voice over the last few years, and we’re still just scratching the surface of what’s possible when you combine your regular phone service with the latest web technology. It’s even more amazing to think about how far communication has come over the last couple hundred years”

To sign up for Google Voice, click here

Here are some things you can do to get started with Google Voice:

  1. Read transcriptions of voicemails. Watch a video »
  2. Customize which phones ring. Watch a video »
  3. Personalize greetings for different callers. Watch a video »
  4. Make cheap international calls. Watch a video »
  5. Forward SMS to email. Watch a video »
  6. Share voicemails with friends. Watch a video »
  7. Block unwanted callers. Watch a video »
  8. Screen callers before answering. Watch a video »
  9. Access the mobile app on your phone. Watch a video »
  10. Conference call with co-workers. Watch a video »