Problem w/ Parking on 9143i

I didn’t think this would be so tricky.

Using FreePBX

Upon previous advice, I tried programming a soft-key to “sprecode” value of “70” (no quotes) to send a call to the parking lot. When I am in a call and press that soft-key, nothing happens.

I found a thread indicating the 3.2 firmware doesn’t work so hot:

This was also advised in a previous thread to me. The problem is, that ship sailed. The first thing I did when the phones arrived was put the latest 3.2 on them. They (AASTRA) don’t have any previous firmware posted.

(1) Is the 3.2 firmware the reason my sprecode doesn’t work? If yes, does anyone know where I can download the latest firmware where sprecodes DO work? I can call Aastra, but I thought I’d check here first to make sure I’m barking up the right tree.

In an effort to work around this, I decided to assign a “Speed Dial Transfer” of “70” to the same soft-key. When I do this, the call does transfer to the parking lot, but I do not hear the slot. The caller does, however. Basically, what is happening in this thread is happening to me:

Any ideas/tips on how to get a single button to transfer a call to the parking lot, and tell me the slot #, would be appreciated.

BTW, I’m using Aastra 9143i phones. When I’m on a call and press ## on the dialpad, the system transmits that to the other side. Should that be happening?

Sorry for all the newbie questions.

Try to set the type to “speed dial” and the value to “##70”.

There are links to past firmwares for that model on the Aastra web site, this link should get you the latest 2.x firmware:

Well, the speed-dial ##70 doesn’t seem to do anything. Pressing ## on the handset doesn’t seem to do anything during a call, either. I read somewhere that some phones don’t handle the double #'s. I don’t know, I’m very new to this.

I downgraded to the 2.x firmware (thanks for the link, lgaetz), but the sprecode didn’t work any differently. Basically, when I assign a key to sprecode 70, and press it during a call, nothing happens. I found a post somewhere that I have to modify the “mac.cfg” with “sprecode: asterisk;70” or something like that. I’m researching that a bit.

The only way I’ve been able to make this work is to assign 70 as a BLF, then press the phone’s (9143i) “Transfer” button during a call, then press the 70 BLF softkey I’ve created. When I do it this way, I hear the slot as expected.

Anyone have any other pointers, I’m all ears.

Otherwise I’ll keep experimenting.

The dial plans I’m using are the default in the Endpoint Manager:


When I dial #'s on the phone, they are transmitted to the other party.

Do I need to change anything there?

I don’t know what “transmitted to the other party” means. I only care if Asterisk is seeing them.

I have seen issues in the Aastra’s that if you don’t have ##70 in the phone dial plan it won’t work from a speed dial.

Is ## the Asterisk in call blind transfer code?

Sorry. What I meant is, when I dial # the person I’m talking to (the other party in the phone conversation) hears the DTMF.

Yes, ## is the Asterisk in-call blind transfer code. That was the default in the FreePBX install and I have not changed it.

So you think I should try adding “|##70” onto the end of the dialing plan? Easy enough to try.

Do you have ## as acceptable digits in the dial plan of the phone?

I would, if you can’t dial that code something is fundamentaly wrong.

What type of DTMF signalling are you doing? Does it match the peer (phone) in Asterisk?

You may need to do some DTMF debugging, you can see DTMF events inside the RTP stream, Asterisk also dumps them to the log in debug mode (not verbose).

Problems like this are challenging to say the least.

Load the 3CX softphone and see if it works with in call xfer.

My advice to set a Sprecode assumed you were using firmware version 2.6. I could never get the sprecode to work right in 3.2 (along with a bunch of other things), which is why I went back to 2.6. 3.2 is a mess for a variety of reasons.

Just put 2.6 firmware (you can download it from the same place you got 3.2) in your /tftpboot directory, make a non-substantive change to the aastra.cfg file (you can add a new first line with a # and type anything there), then reboot the phone and you’ll be back to 2.6.

Oh, and ## will only work if the blind call transfer is enabled in the feature codes module. It won’t solve your problem, though. You still won’t hear the announcement.

Thanks AdHominem.

I did go back to the 2.6 firmware and the sprecode still did not work. When I program one of the keys to “sprecode” and value of “70” nothing happens when pressing that key during a conversation.

I think there are some operational differences (that is putting it lightly) between the 9143i and some of their units with larger displays.

My plan at this point is to call Aastra and ask if they have a tip for getting this working.

AHA! Maybe…

I went into the phone’s web interface and noticed that the sprecode button I was assigning (via Endpoint Manager) was blank on the programmable keys page. All my other buttons (BLF/Xfers) were present.

So I manually set the button to “sprecode” and “70” via the web interface and then was able to confirm that the button now does something when I press it during a conversation.

So I looked at the configuration file being created for the phone by Endpoint Manager and it lists:

prgkey7 type: sprecod
prgkey7 value: 70

Now I’m really stumped. When I use the web interface on the phone, is it possible that something else happens (configuration-wise) when I set a sprecode? Something that tells it not to ignore sprecodes?

Or is “sprecod” not the correct label for a Sprecode in the configuration file?

Any ideas on how to track this down would be appreciated.

Okay, I have just confirmed by looking at the local config on the phone that it wants a labor of “spre” instead of “sprecod” (no quotes, of course).

So is there a way to tell Endpoint Manager to create configuration files with “spre” instead of what it is currently using?

I found prgkeys.xml in:


And was able to change “sprecod” to “spre” (and it works!).

Yes, I’m not sure this is the “correct” way to do this. As a hack, it gets the job done. But is there a more appropriate way to do this?

Also, the prgkeys.xml file section I edited (backed-up first) references the 9143i/6735i/6755i. I wonder if, by making this change to accommodate the 9143i, if I’ve now hosed the other two models.

And (just thinking aloud here) I’m surprised Aastra has no standard for these keywords. GOSH! How do the developers keep up with this kind of thing?

I would like to thank everyone that has been helping me. All the suggestions/tips/ideas are what ultimately allowed me to track this down.

Looks like you uncovered a bug in EPM, all Aastra phones (that I have tested) are provisioned with “spre” not “sprecod” as you discovered.

I started an issue on the EPM dev site:


I’m so new to this stuff I just figured not many used the 9143i, and that it is a bit different from Aastra’s other models.

Thanks for figuring that out, and opening the issue.

It is nice that I’m able to hack a workaround and continue my testing.

I am almost sure it’s SPRCODE. I am not in a position to look up now. If this is try the endpoint manager needs to be fixed.

Curiosity, why did you use the Endpoint manager instead of the xml scripts?

“Curiosity, why did you use the Endpoint manager instead of the xml scripts?”

Because someone suggested it in this thread:

as an alternative to provisioning with 3CX (which I was somewhat comfortable with).

And I like EPM very much. Glitches happen. This one does not reduce my appreciation for the amount of time EPM could save me in the long run. And it is nice that a single module like EPM can manage soooo many different brands/models of phones.

I may try the XML scripts later, after I’ve had more time to learn the ins/outs of FreePBX/asterisk.

So much to learn…