Passing star function codes to a specific trunk line

i just ordered (not yet received) a cellular Home Phone device so i can experiment with multi-lines. the issue i can foresee, is that various codes need to be sent to the Home Phone device, for things such as voicemail (just in case), and an activation code. so how would i set this up? i think the easiest would be if i could enter a custom feature code to take me directly to the Home Phone line, but i suspect the code (like *288#) could confuse my local phone system.

what would be my best approach?
Thanks in advance for any help, as well as all the great past help i have gotten. :slight_smile:

~Travis

Do you want to connect that cellular home phone device to your PBX?
Is it one of those devices that has an analog port that is meant for the user to plug an analog phone in and that sends calls out the carriers cellular network?

yes. will it not work?
I have a 8-port analog FXO card, and i intend to connect the Home Phone device to one of the FXO inputs.

~Travis

did i miss something?

~Travis

You don’t need a feature code. Just set up an Outbound Route that converts some non-conflicting code to * and selects the Home Phone trunk.

For example:
prefix: 11
match pattern: X.
prepend: *
Trunk Sequence: (your Home Phone trunk)

Then, you would dial 11288#, which would send *288# on the trunk.

A potential problem is that many SIP devices use # to mark the end of a number. If you don’t need that function, you may be able to disable it in the device configuration.

Otherwise, you could dial 11288#, which would send *288 on the trunk, then press # again to complete the entry.

Or, you could set up routes for specific codes that would include the # in what is sent.

However, I’m curious why you picked that device. It makes good sense if your internet and ‘regular’ phone service are unreliable. It would give you reliable access to 911 and can probably work with your alarm system (if it doesn’t already have cellular backup). If your power is also unreliable, you’ll of course need to power the PBX, network gear and SIP devices from a UPS. I assume that the Home Phone device has its own battery.

Otherwise, I recommend a SIP trunk instead. It’s less expensive, simpler to set up, far more flexible and will provide better voice quality.

1 Like

that’s what it does for the Home Phone device.

i do not own this house, so i wanted to be able to take the Home Phone with me when i am able to get my own house. i was able to tie into the existing POTS line, with the provision that the calls on it pass-through to the house phones. i connected it is to allow the house phones to be able to use the PBX features, though it is removable.
when i do get my own house, i may not be able to afford the land-line and internet right off, thus the Home Phone device will provide a usable phone connection.

I have a rather large rack-mount APC UPS in my server rack, that i plan on adding a large amount of external batteries for longer backup. the SIP devices are powered via a used Cisco PoE switch i picked up, and the ATA that converts for the rest of the house analog phones is also plugged into the UPS.

when i get my own house, i may opt for a SIP trunk when i can afford the internet, with the Home Phone device as a backup. and yes, it does have it’s own battery backup built in.

will the single “X” in the match pattern support one or more digits? or should i use the “.” (period) wild card?

~Travis

ok, i have a dial pattern just as described, in both the outbound route dial pattern, and the trunk Dialed Number Manipulation Rules.
prefix: 11
prepend: *
match pattern: X. (X + period)
yet i keep getting a voice message from my phone system, that the number cannot be completed as dialed.

am i missing something here?

~Travis

Post a call log.

|Wed, Oct 24, 2018 5:19 PM |HANGUP |1540415984.25 |1540415984.25 |1001 |11 |bad-number |SIP/1001-0000000c|
|---|---|---|---|---|---|---|---|
|Wed, Oct 24, 2018 5:19 PM |CHAN_END |1540415984.25 |1540415984.25 |1001 |11 |bad-number |SIP/1001-0000000c|
|Wed, Oct 24, 2018 5:19 PM |LINKEDID_END |1540415984.25 |1540415984.25 |1001 |11 |bad-number |SIP/1001-0000000c|
|Wed, Oct 24, 2018 5:19 PM |CHAN_START |1540415984.25 |1540415984.25 |1001 |11 |from-internal |SIP/1001-0000000c|

this the correct log?

~Travis

https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs

Can you also post screenshots of your dial patterns?

prepend,prefix,"match pattern",callerid
,,1800NXXXXXX,
,,1833NXXXXXX,
,,1844NXXXXXX,
,,1855NXXXXXX,
,,1866NXXXXXX,
,,1877NXXXXXX,
,,1888NXXXXXX,
,,1NXXNXXXXXX,
,,NXXNXXXXXX,
,,NXXXXXX,
*,11,X.,

the CSV export will have to suffice, my computer seems to fail at screenshots, apparently (yes, i know how to do screenshots).

[2018-10-24 22:00:30] VERBOSE[27437][C-00000011] netsock2.c: Using SIP RTP TOS bits 184
[2018-10-24 22:00:30] VERBOSE[27437][C-00000011] netsock2.c: Using SIP RTP CoS mark 5
[2018-10-24 22:00:30] WARNING[27437][C-00000011] chan_sip.c: Declining non-primary audio stream: audio 2264 RTP/AVP 9 0 8 18 127
[2018-10-24 22:00:30] VERBOSE[27391] chan_sip.c: Extension Changed 1001[ext-local] new state InUse for Notify User 1003
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:1] Macro("SIP/1001-0000000d", "user-callerid,LIMIT") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:1] Set("SIP/1001-0000000d", "TOUCH_MONITOR=1540418430.29") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:2] Set("SIP/1001-0000000d", "AMPUSER=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:3] GotoIf("SIP/1001-0000000d", "0?report") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:4] ExecIf("SIP/1001-0000000d", "1?Set(REALCALLERIDNUM=1001)") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:5] Set("SIP/1001-0000000d", "AMPUSER=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:6] GotoIf("SIP/1001-0000000d", "0?limit") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:7] Set("SIP/1001-0000000d", "AMPUSERCIDNAME=Travis") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:8] ExecIf("SIP/1001-0000000d", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:9] GotoIf("SIP/1001-0000000d", "0?report") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:10] Set("SIP/1001-0000000d", "AMPUSERCID=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:11] Set("SIP/1001-0000000d", "__DIAL_OPTIONS=HhTtr") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:12] Set("SIP/1001-0000000d", "CALLERID(all)="Travis" <1001>") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:13] GotoIf("SIP/1001-0000000d", "0?limit") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:14] ExecIf("SIP/1001-0000000d", "1?Set(GROUP(concurrency_limit)=1001)") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:15] ExecIf("SIP/1001-0000000d", "0?Set(CHANNEL(language)=)") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:16] NoOp("SIP/1001-0000000d", "Macro Depth is 1") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:17] GotoIf("SIP/1001-0000000d", "1?report2:macroerror") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx_builtins.c: Goto (macro-user-callerid,s,18)
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:18] GotoIf("SIP/1001-0000000d", "1?continue") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx_builtins.c: Goto (macro-user-callerid,s,37)
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:37] Set("SIP/1001-0000000d", "CALLERID(number)=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:38] Set("SIP/1001-0000000d", "CALLERID(name)=Travis") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:39] GotoIf("SIP/1001-0000000d", "0?cnum") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:40] Set("SIP/1001-0000000d", "CDR(cnam)=Travis") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:41] Set("SIP/1001-0000000d", "CDR(cnum)=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:42] Set("SIP/1001-0000000d", "CHANNEL(language)=en") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:2] Set("SIP/1001-0000000d", "ROUTEUSER=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:3] Set("SIP/1001-0000000d", "ROUTEUSER=1001") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:4] GotoIf("SIP/1001-0000000d", "1?notblind") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx_builtins.c: Goto (from-internal,11,7)
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:7] GotoIf("SIP/1001-0000000d", "1?restrictedroute-c81e728d9d4c2f636f067f89cc14862c,11,2:outbound-allroutes,11,2") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx_builtins.c: Goto (restrictedroute-c81e728d9d4c2f636f067f89cc14862c,11,2)
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Channel 'SIP/1001-0000000d' sent to invalid extension: context,exten,priority=restrictedroute-c81e728d9d4c2f636f067f89cc14862c,11,2
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:1] Goto("SIP/1001-0000000d", "bad-number,s,1") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx_builtins.c: Goto (bad-number,s,1)
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:1] Goto("SIP/1001-0000000d", "11,1") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx_builtins.c: Goto (bad-number,11,1)
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:1] ResetCDR("SIP/1001-0000000d", "") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:2] NoCDR("SIP/1001-0000000d", "") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:3] Progress("SIP/1001-0000000d", "") in new stack
[2018-10-24 22:00:30] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:4] Wait("SIP/1001-0000000d", "1") in new stack
[2018-10-24 22:00:31] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:5] Playback("SIP/1001-0000000d", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
[2018-10-24 22:00:31] VERBOSE[8494][C-00000011] file.c: <SIP/1001-0000000d> Playing 'silence/1.ulaw' (language 'en')
[2018-10-24 22:00:32] VERBOSE[8494][C-00000011] file.c: <SIP/1001-0000000d> Playing 'cannot-complete-as-dialed.ulaw' (language 'en')
[2018-10-24 22:00:35] VERBOSE[8494][C-00000011] file.c: <SIP/1001-0000000d> Playing 'check-number-dial-again.ulaw' (language 'en')
[2018-10-24 22:00:37] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:6] Wait("SIP/1001-0000000d", "1") in new stack
[2018-10-24 22:00:38] VERBOSE[8494][C-00000011] pbx.c: Executing [[email protected]:7] Congestion("SIP/1001-0000000d", "20") in new stack
[2018-10-24 22:00:38] WARNING[8494][C-00000011] channel.c: Prodding channel 'SIP/1001-0000000d' failed
[2018-10-24 22:00:38] VERBOSE[8494][C-00000011] pbx.c: Spawn extension (bad-number, 11, 7) exited non-zero on 'SIP/1001-0000000d'
[2018-10-24 22:00:38] VERBOSE[27391] chan_sip.c: Extension Changed 1001[ext-local] new state Idle for Notify User 1003

~Travis

The log shows that you dialed just 11. If you actually dialed e.g. 11288, then your device (IP phone, ATA, SIP app, etc.) has a dial plan that truncated the number, which you will need to change.

The Outbound Route that I had suggested assumed that you would be dialing at least two digits after the 11. (Knowing nothing about your setup, I didn’t want to conflict with e.g. extension 115.)

i had to change the dial patterns in my ip phone. i didn’t even know the phone had it’s own dial patterns. seems to work now, thank you all for your help.

~Travis

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.