Template Field: BLF Short Press In Use State

What does the field

BLF Short Press In Use State

do in the template settings?

Would it allow you to hit a BLF button that is for another extension?

Say I’m on a call, I want to transfer the call to another extension’s voice mail. So I hit the transfer to voicemail button. Could I then use this setting to just hit that extensions BLF button, instead of typing the extension number?

Thanks,
Daniel

Yes so I am working on getting our wiki updated but what it means is this.

A normal press of the BLF is called short press. A long press is when you press and hold if for 1 second.

The state means the state of the BLF.

So a Short Press In Use you would put in the ##* and that would do a ## transfer plus prefex the * and then the BLF extension number so now you have 1 touch transfer to voicemail.

That’s great! I’ve been wondering how to make that happen.

I’m trying this exact setup right now with S700 and EXP100 firmware 2.0.4.15 and exp100 firmware 2.0.4.0.

I have it setup
BLF Long Press Idle State = ##*
BLF Long Press Busy State = ##*

When I am on an active call and hold a BLF key with this setup, nothing happens. But if I manually enter ## and then * Extension Number, I get transferred to voice mail.

Thanks

A little more info.

In a Call
BLF Short Press Busy State, Works
BLF Short Press Idle State still dials the extension directly instead of going to voicemail
BLF Long Press Busy State does nothing
BLF Long Press Idle State does nothing

Not in a Call
Everything appears to work

Ya sorry at this time they only work when your phone is idle. We are working on expanding it and working through all the bugs it creates. It’s actively being worked on.

Thanks for the update. I look forward to trying out any upgrades to this feature.

I see that firmware 2.0.4.17 was released today. Nothing about the BLF key press in the release notes. Any status update on this issue?

Thanks

:frowning2: We just got our new Sangoma phones in and I was trying to get this working also - no joy! Any idea when this will be working?

As stated previously the long press is designed at this time when the phone is idle.

This is working through the engineering team to get added hopefully in firmware 2.0.4.18 due out later this month. Currently Long and Short Press only work when your phone is no on a active call.

1 Like

Just uploaded 2.0.4.18 to my phones. When I try

BLF Long Press Idle State = ##*
or
BLF Long Press In Use State = ##*

I get the recorded message: “The number you have dialed is not in service.”

You would need to look at asterisk CLI and see what’s going on

Call from ‘4958’ (10.12.22.127:5060) to extension ‘##*4954’ rejected because extension not found in context ‘from-internal’.

But doing the same thing from the Dialpad works.

Just to add detail. It does work from the dialpad for me as well.

Looking at the log, it’s trying to go out to our Internet VOIP Trunk

)[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:12] GosubIf("PJSIP/206-0000042b", "1?sub-flp-1,s,1()") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@sub-flp-1:1] ExecIf("PJSIP/206-0000042b", "0?Set(TARGET_FLP_1=1##*207)") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@sub-flp-1:2] GotoIf("PJSIP/206-0000042b", "0?match") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@sub-flp-1:3] ExecIf("PJSIP/206-0000042b", "0?Set(TARGET_FLP_1=1207##*207)") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@sub-flp-1:4] GotoIf("PJSIP/206-0000042b", "0?match") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@sub-flp-1:5] Return("PJSIP/206-0000042b", "") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:13] Set("PJSIP/206-0000042b", "OUTNUM=##*207") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:14] Set("PJSIP/206-0000042b", "custom=PJSIP") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:15] ExecIf("PJSIP/206-0000042b", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)Tt)") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:16] ExecIf("PJSIP/206-0000042b", "0?Set(DIAL_TRUNK_OPTIONS=TtM(confirm))") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:17] Macro("PJSIP/206-0000042b", "dialout-trunk-predial-hook,") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("PJSIP/206-0000042b", "") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:18] GotoIf("PJSIP/206-0000042b", "0?bypass,1") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:19] ExecIf("PJSIP/206-0000042b", "1?Set(CONNECTEDLINE(num,i)=##*207)") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:20] ExecIf("PJSIP/206-0000042b", "1?Set(CONNECTEDLINE(name,i)=CID:2078763541)") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:21] ExecIf("PJSIP/206-0000042b", "0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)2078763541)") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:22] GotoIf("PJSIP/206-0000042b", "0?customtrunk") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:23] Dial("PJSIP/206-0000042b", "PJSIP/##*207@FairpointVOIPTrunk,300,Tt") in new stack
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] app_dial.c: Called PJSIP/##*207@FairpointVOIPTrunk
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] app_dial.c: Everyone is busy/congested at this time (1:0/0/1)
[2016-10-25 17:58:38] VERBOSE[14061][C-000000bf] pbx.c: Executing [s@macro-dialout-trunk:24] NoOp("PJSIP/206-0000042b", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 1") in new

Ya so the issue is we never tested trying to use transfer feature code as a prefix. That won’t work as asterisk needs the ## sent then once it enters transfer context you can dial where to.

1 Like

Would a dial string like ##P* work here ? (so it forces a pause between sending ## and * ?) I guess the P would have to be recognized by the phone appropriately …

1 Like

Perhaps I don’t understand how the Core processes calls - would it be too hard to implement having the Dialplan pattern-match and look for a dial-string of ##*whatever and fork off to a VoiceMail transfer?

It’s something I have opened a request on. The issue right now is we just send the whole string to asterisk at once and asterisk is not handling the ## right. It will take some time to come up with a solution to this feature but we will figure something out.

Any updates on this issue?