Panasonic KX-TGP500B01 nightmare

Hey forum,

Just recently I became the new administrator of our asterisk server and after getting the barebone basics they gave me my first task: setting up two handheld phones.

To make a long story short, I have spent hours upon hours to find out how to do it, read countless manuals and tried dozens of settings but I can’t get it to work. The base unit is connected to the switch and I can access it using a laptop within the phone network; I can change the settings and I’ve set it up according to the manuals and guides on the internet; I have created an extension in FreePBX and yet… It doesn’t work.

The web interface shows under Status -> VOIP status the line is “Registering”. Firmware is up to date.

Does anybody know what is going on here? Thanks in advance for your replies.

– Jaapyse

You gave us almost nothing to help you with, so I’m going to ask you a lot of questions.

I assume you found the following detailed instructions in your search and followed them?

Setting up Panasonic Phone with Asterisk

Of particular note is the comments entry where the person asked your specific question and he answered it. I assume you did that stuff too?

Did you look in the /var/log/asterisk/full log to see what the specific error was?

Are you using Chan-SIP or PJ-SIP?

Are you using Asterisk 11 or Asterisk 13?

Which FreePBX distro did you install? Did you install one? Do you know which version is installed?

The advantage that you have is that everything the article recommends we do in the FreePBX GUI. You never mentioned - are you using the GUI?

Hey Dave,

Thank you very much for your reply!
I found these instructions and many others describing the same process although I skipped the part about voicemail. I could not use the solution in the comment because of two reasons.

  1. The solution is for switchvox, not for FreePBX so these options don’t exist.
  2. The IP-address was (apparently) not set correctly because I was not informed well enough.

However, putting in the correct IP-address did not solve it either. It now says nothing in the VOIP line status. Not registering, not registered, nothing.

I have no idea how to find that log… Again, it’s my first time with asterisk and FreePBX…
I’m using Chan-SIP. Asterisk version is 13.10.0. It was recently updated, set up and now I need to learn to manage it since the previous manager is gone by the end of the year. And oh yeah, I didn’t even know you could do it other than using GUI, so that’s what I’m using.

Thank you for your understanding!

– Jaapyse

OK - there are a few things you’ll need to get an understanding of before your quest for telephony nirvana can be achieved.

  1. The nature of IP address networking. This is a very basic skill and requires a little bit of “out of classroom” work on your part.
  2. Some of the network management tasks you will be undertaking are outside the scope of Asterisk (and its management program FreePBX). Because of that, at some point you will need to avail yourself of the “root terminal” login.
  3. While it is not necessary to be a complete Unix wizard, having a basic understanding of the underlying operating system (CentOS - a distribution of RedHat Linux) is going to make your life considerably less challenging.

So, having said that, you need a few things that will make your life easier.

  1. A network map. This is the document that tells you where everything is. No two devices can have the same network address, so a map is indispensable. There are automated tools that can help you do that if you don’t have one from your predecessor. For most installations, a detailed map is really critical AS LONG AS you make sure nothing is talking on someone else’s address. For example - you are probably using a private network in the range of through Of course, this is just an example, but this address block is chosen a large percentage of the time.

  2. The “root” password. At some point, you will have to log into the main PBX computer to do something. I don’t know what yet, but I guarantee you will need to. You can do this from the console of the main PBX (there should be a Login: prompt) or you can do it using one of the myriad SSH client programs.

  3. The server IP address. For most installations, this is a specific number at one end of the address block. There are as many models as there are network guys. I usually use x.x.x.1 as my gateway (so, if you are using 192.168.0.something as your network, that would be, as my DNS/DHCP/OBX/Network Management server (if I have one) and then starting numbering workstations at and phones at This gives you space for 45+ servers and printers, and 100 phones and computers, with a couple of spots left over for things like wireless access points.

Since you are using Asterisk 13, you will need to know that there are TWO different ways to connect SIP phones to your system. One is called PJ-SIP and is the newer technology. It offers a lot of really cool features that you don’t need yet. The other is called “Chan-SIP” and is the Asterisk 11-and-before SIP interface. When you set them up, you tell them which “port” you want them to listen on. Common numbers are 5060, 5061, and 5160.

Having said that, it’s at this moment that your brain may lock up, especially if you’re not done with that networking homework I gave you. Don’t worry - we’ve all been there.

So, log into FreePBX and look around. Let’s assume for a minute that your PBX is set up in the local network. For now (not long, but for now) disable the firewall that comes with FreePBX. It’s on the “Connectivity” menu - you’ll want to know where it is because we will be re-enabling it later.

Now, look at the “settings” tab. There should be an entry called “SIP Settings”. This set of three pages will tell you which driver you are using and on which port. We can assume, for now, that you are using Chan-SIP for your phones. That’s fine - just look at the port number you are using. You will need this to configure your phones.

Next, set up your extension. Start with one, make it a Chan-SIP extension (the extension types are managed separately, so this step is kind of critical). Set the extension number, the user (which is usually the extension number, but doesn’t have to be), and the password. The system will provide a ridiculously long, excellent password which you can either use or discard and replace with something simple (for testing). Once you get good at running the system, I actually recommend setting the phone’s SIP password to the one provided by the channel driver - it will save you money in the long run.

Now, set up your phone. Set the SIP user and password. Also, set the IP address of the SIP Server.

On the port number, there are lots of ways that can go. The first is that the phone will actually give you a place to put it. The second is that it needs to be included in the IP address using a colon (… Other phones simply will not use anything but 5060. Your mileage may vary and it is a good exercise for you.

Set everything up and try to reset the phone.

In the “Reports” tab, there is a “View Log Files” entry. Use that and look to see why the phone didn’t connect. If you can’t figure that out, you could also log into the server console as “root”. You will end up at a prompt that looks like this: “#”.

At that prompt, type “more /var/log/asterisk/full”. Use the ‘/’ key to find the extension number of your phone. Use the ‘n’ key to find the next occurrence. The ‘q’ key will quit out of more.

You can not try using the system’s runtime component. Type ‘asterisk -vvvr’ to connect to the Asterisk program that’s running on the server. Reset your phone and watch the screen - you should see the phone attempt to connect and either work or error out.

That’s enough for now - if you get all of that done and still can’t get the phones to connect, come back and ask specific questions…

Hey Dave,

Thank you for your great response! I have learnt quite a lot from it. Luckily the problem has been resolved. I finally got all the settings correct and for some strange reason I still had to restart the base station three or four times before it actually worked.

At the moment the team has challenged me with yet another problem. This is the case:

  1. A customer calls from phone 1234567890 and explains the problem to our secretary.
  2. She transfers the call to my colleague responsible for marketing.
  3. On his phone it shows the call came from our secretary (extension 22) instead of from the customer (1234567890). It works fine, but it shows the wrong number.

When googeling for solutions to this problem I found some stuff about send rpid, trust rpid, pai and all kinds of other magic that would solve the problem but I understood none of it. Can you guys help me out with this? I’m sure I’m not the first one to ever encounter this issue.

Thanks in advance,

– Jaapyse

All of these RPID settings are on the Extensions tab. The “help” buttons on each of the options should give you the information you need on setting these.

Now, one thing to keep in mind is what you are seeing is still technically correct. The call is coming from your internal number, so depending on how the call gets transferred, you might get different results.

Either way, the various RPID settings are the way to tie down exactly what experience you want.

Hey Dave,

My trustrpid and sendrpid are correct. I double- and triplechecked it alone and together with the previous asterisk manager and the settings really are correct. We tried RPID as well as PAI, changed it in the Advanced Settings as well as in the extensions and yet it just doesn’t seem to work. We fiddled around with the “Only Use Last CID Prepend” option, but neither did that help so we set it back to the default. The only thing I’ve found is a bug report from 2006 saying it can’t be done, but that’s bullshit, because the old asterisk did it no problem.

What do I do?!?!?

– Jaapyse

Note: This does work correctly when transferring blind, but not when transferring attended.

The situation you described (the secretary talks to the customer and then “attended transfers” the call to another extension) should show the secretary calling - he is. So, from that perspective, it makes sense that the caller ID doesn’t follow the call.

Everything in Asterisk (which is the technology that FreePBX runs on top of) is controlled through dial plan contexts. There is one in the system that handles attended transfers - you might need to look at that context to see what it is doing and what needs to be added to it to transfer the inbound caller ID.

My suspicion it’s impossible is because there’s no way to know which caller ID you should be passing. Using the internal extension on an attended transfer makes perfect sense and there’s no way to know which caller ID the customer wants transferred.

At this point, I’m going to beg out - I can’t think of a simple way to tristate the caller ID. The system seems to be working as expected and the correct caller ID is getting passed on a blind transfer, so we know your system is set up correctly. At this point, I think a bug report/feature request on the “Issues” tab at the top of the page would probably be the best choice.

It will show a blind transfer coming from the caller ID of the caller being transferred on all devices always.

On attended it will first show the extension making the call and after the transfer is complete it will update the caller ID to show who was transferred if the phone supports PAI. This works on Astra and Sangoma Phones with no issues and pretty sure yealink and others. You would need to find out what your phone manufacture supports my guess is they don’t support PAI.

Hey people,

Thanks a lot for bearing with me.[quote=“tonyclewis, post:9, topic:36950”]
On attended it will first show the extension making the call and after the transfer is complete it will update the caller ID to show who was transferred if the phone supports PAI.

The problem is really clear: the update doesn’t happen. I know the phones support it (Cisco IP phones 7940 and 7912 series) because the worked correctly before we updated to the new asterisk. Where are the settings of this update to be found?

– Jaapyse