Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Need help with LWC over Tie Line

Status
Not open for further replies.

mkeensvc

IS-IT--Management
Mar 31, 2015
17
US
thread690-1766408
Hi all,
With much greatly appreciated help from the linked thread, I've successfully connected my Definity G3 R12 communicating via an E1 to my FreePBX/Asterisk box. We can make outbound calls from either PBX via a T1/PRI connected to Definity; we can make outbound calls from either PBX via a SIP trunk connected to FreePBX. Extensions can be called from either PBX to the other. We've even started using FreePBX Voicemail for users with extensions on Definity. But this is where we have one remaining issue...

I'm having trouble turning the Definity message waiting lights on and off from the FreePBX side. I can turn message lights on and off from my Definity extension by dialing the *4 and #4 Leave Word Calling (LWC) feature access codes, but when I attempt to send those same feature access codes through the Tie Trunk it doesn't work. I hear one ring followed by reorder tone. Below is the LIST TRACE TAC 204 result along with the debug log from Asterisk. Any help would be greatly appreciated.

[pre] LIST TRACE

time data

12:03:05 Calling party trunk-group 4 member 1 cid 0x9b
12:03:05 Calling Number & Name 2848 Michael Keen
12:03:05 active trunk-group 4 member 1 cid 0x9b
12:03:05 dial *44617
12:03:05 term station 4617 cid 0x9b [/pre]

[pre] Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [*44617@from-internal:1] Macro("SIP/2848-000003b9", "user-callerid,LIMIT,EXTERNAL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/2848-000003b9", "TOUCH_MONITOR=1500927285.3622") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/2848-000003b9", "AMPUSER=2848") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/2848-000003b9", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/2848-000003b9", "1?Set(REALCALLERIDNUM=2848)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/2848-000003b9", "AMPUSER=2848") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/2848-000003b9", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/2848-000003b9", "AMPUSERCIDNAME=Michael Keen") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/2848-000003b9", "0?report") in new stack
-- Executing [s@macro-user-callerid:9] Set("SIP/2848-000003b9", "AMPUSERCID=2848") in new stack
-- Executing [s@macro-user-callerid:10] Set("SIP/2848-000003b9", "__DIAL_OPTIONS=Ttr") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/2848-000003b9", "CALLERID(all)="Michael Keen" <2848>") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/2848-000003b9", "0?limit") in new stack
-- Executing [s@macro-user-callerid:13] ExecIf("SIP/2848-000003b9", "1?Set(GROUP(concurrency_limit)=2848)") in new stack
-- Executing [s@macro-user-callerid:14] GotoIf("SIP/2848-000003b9", "1?continue") in new stack
-- Goto (macro-user-callerid,s,27)
-- Executing [s@macro-user-callerid:27] Set("SIP/2848-000003b9", "CALLERID(number)=2848") in new stack
-- Executing [s@macro-user-callerid:28] Set("SIP/2848-000003b9", "CALLERID(name)=Michael Keen") in new stack
-- Executing [s@macro-user-callerid:29] GotoIf("SIP/2848-000003b9", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:30] Set("SIP/2848-000003b9", "CDR(cnam)=Michael Keen") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/2848-000003b9", "CDR(cnum)=2848") in new stack
-- Executing [s@macro-user-callerid:32] Set("SIP/2848-000003b9", "CHANNEL(language)=en") in new stack
-- Executing [*44617@from-internal:2] Gosub("SIP/2848-000003b9", "sub-record-check,s,1(out,*44617,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("SIP/2848-000003b9", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("SIP/2848-000003b9", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("SIP/2848-000003b9", "NOW=1500927285") in new stack
-- Executing [s@sub-record-check:4] Set("SIP/2848-000003b9", "__DAY=24") in new stack
-- Executing [s@sub-record-check:5] Set("SIP/2848-000003b9", "__MONTH=07") in new stack
-- Executing [s@sub-record-check:6] Set("SIP/2848-000003b9", "__YEAR=2017") in new stack
-- Executing [s@sub-record-check:7] Set("SIP/2848-000003b9", "__TIMESTR=20170724-161445") in new stack
-- Executing [s@sub-record-check:8] Set("SIP/2848-000003b9", "__FROMEXTEN=2848") in new stack
-- Executing [s@sub-record-check:9] Set("SIP/2848-000003b9", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("SIP/2848-000003b9", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("SIP/2848-000003b9", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("SIP/2848-000003b9", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("SIP/2848-000003b9", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("SIP/2848-000003b9", "3?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("SIP/2848-000003b9", "1?sub-record-check,out,1") in new stack
-- Goto (sub-record-check,out,1)
-- Executing [out@sub-record-check:1] NoOp("SIP/2848-000003b9", "Outbound Recording Check from 2848 to *44617") in new stack
-- Executing [out@sub-record-check:2] Set("SIP/2848-000003b9", "RECMODE=dontcare") in new stack
-- Executing [out@sub-record-check:3] ExecIf("SIP/2848-000003b9", "1?Goto(routewins)") in new stack
-- Goto (sub-record-check,out,7)
-- Executing [out@sub-record-check:7] Gosub("SIP/2848-000003b9", "recordcheck,1(dontcare,out,*44617)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("SIP/2848-000003b9", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("SIP/2848-000003b9", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("SIP/2848-000003b9", "") in new stack
-- Executing [out@sub-record-check:8] Return("SIP/2848-000003b9", "") in new stack
-- Executing [*44617@from-internal:3] Set("SIP/2848-000003b9", "INTRACOMPANYROUTE=YES") in new stack
-- Executing [*44617@from-internal:4] Set("SIP/2848-000003b9", "MOHCLASS=default") in new stack
-- Executing [*44617@from-internal:5] Set("SIP/2848-000003b9", "_NODEST=") in new stack
-- Executing [*44617@from-internal:6] Macro("SIP/2848-000003b9", "dialout-trunk,1,*44617,,off") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/2848-000003b9", "DIAL_TRUNK=1") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/2848-000003b9", "0?sub-pincheck,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/2848-000003b9", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/2848-000003b9", "DIAL_NUMBER=*44617") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/2848-000003b9", "DIAL_TRUNK_OPTIONS=Ttr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/2848-000003b9", "OUTBOUND_GROUP=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/2848-000003b9", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/2848-000003b9", "1?skipoutcid") in new stack
-- Goto (macro-dialout-trunk,s,12)
-- Executing [s@macro-dialout-trunk:12] GosubIf("SIP/2848-000003b9", "1?sub-flp-1,s,1()") in new stack
-- Executing [s@sub-flp-1:1] ExecIf("SIP/2848-000003b9", "0?Set(TARGET_FLP_1=9*44617)") in new stack
-- Executing [s@sub-flp-1:2] GotoIf("SIP/2848-000003b9", "0?match") in new stack
-- Executing [s@sub-flp-1:3] Return("SIP/2848-000003b9", "") in new stack
-- Executing [s@macro-dialout-trunk:13] Set("SIP/2848-000003b9", "OUTNUM=*44617") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/2848-000003b9", "custom=DAHDI/g0") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/2848-000003b9", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)Ttr)") in new stack
-- Executing [s@macro-dialout-trunk:16] ExecIf("SIP/2848-000003b9", "0?Set(DIAL_TRUNK_OPTIONS=TtrM(confirm))") in new stack
-- Executing [s@macro-dialout-trunk:17] Macro("SIP/2848-000003b9", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/2848-000003b9", "") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/2848-000003b9", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:19] ExecIf("SIP/2848-000003b9", "1?Set(CONNECTEDLINE(num,i)=*44617)") in new stack
-- Executing [s@macro-dialout-trunk:20] ExecIf("SIP/2848-000003b9", "1?Set(CONNECTEDLINE(name,i)=CID:2848)") in new stack
-- Executing [s@macro-dialout-trunk:21] ExecIf("SIP/2848-000003b9", "0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)2848)") in new stack
-- Executing [s@macro-dialout-trunk:22] GotoIf("SIP/2848-000003b9", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:23] Dial("SIP/2848-000003b9", "DAHDI/g0/*44617,300,Ttr") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called DAHDI/g0/*44617
-- DAHDI/i1/*44617-83f is proceeding passing it to SIP/2848-000003b9
-- Span 1: Channel 1/1 got hangup request, cause 127
-- Hungup 'DAHDI/i1/*44617-83f'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk:24] NoOp("SIP/2848-000003b9", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 127") in new stack
-- Executing [s@macro-dialout-trunk:25] GotoIf("SIP/2848-000003b9", "0?continue,1:s-CHANUNAVAIL,1") in new stack
-- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set("SIP/2848-000003b9", "RC=127") in new stack
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto("SIP/2848-000003b9", "127,1") in new stack
-- Goto (macro-dialout-trunk,127,1)
-- Executing [127@macro-dialout-trunk:1] Goto("SIP/2848-000003b9", "continue,1") in new stack
-- Goto (macro-dialout-trunk,continue,1)
-- Executing [continue@macro-dialout-trunk:1] NoOp("SIP/2848-000003b9", "TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 127 - failing through to other trunks") in new stack
-- Executing [continue@macro-dialout-trunk:2] ExecIf("SIP/2848-000003b9", "1?Set(CALLERID(number)=2848)") in new stack
-- Executing [*44617@from-internal:7] Macro("SIP/2848-000003b9", "outisbusy,") in new stack
[2017-07-24 16:14:50] WARNING[27945][C-000008a6]: app_macro.c:310 _macro_exec: No such context 'macro-outisbusy' for macro 'outisbusy'. Was called by *44617@from-internal
-- Auto fallthrough, channel 'SIP/2848-000003b9' status is 'CHANUNAVAIL'
-- Executing [h@from-internal:1] Macro("SIP/2848-000003b9", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/2848-000003b9", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/2848-000003b9", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/2848-000003b9", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/2848-000003b9' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/2848-000003b9'
[/pre]

Thanks in advance.
Michael Keen
 
I believe you would need qsig for this feature to work
 
I agree with Joe that you'd need qsig to do it properly, but LWC might work if your trunk to asterisk has a COS with console permissions. Try that?
 
Thank you, gentlemen.

Sadly, I don't think we're licensed for qsig.

qsig_b6wb2m.jpg


I'm not seeing a place to declare a COS for a trunk. I've looked at change trunk-group and change signalling-group. Am I barking up the wrong tree?
 
whoops, youre right, no COS on trunks. Probably why you're not allowed applying internal PBX features over it. QSIG it is... or cable up an analog station port to asterisk and make it an analog set with console permissions to do it. Carry voice over a trunk and MWI over a set.
 
I appreciate the help. I guess it'll be analog then. I've got a Linksys PAP2T, but I'm pretty sure that will only work as FXS and I'm going to need FXO to do this. Looks like I'll have to put some sort of PCI card into the asterisk box to get an FXO port. Do either of you have a favorite brand or model?
 
Correct, you'd need to get a station port that the PBX sends ring and battery to on something to do what you're looking for.

Now, be creative :) Got a TN747 CO trunk card? Hook your linksys up to that. Build an analog trunk group that has an incoming destination of the "remote access" extension. "display remote-access" to see that.

When you dial the remote access extension, say 3333, you get dial tone. Enter a "barrier code" - like a password - and it maps to an account with COR/COS, and expiry date and max calls.
If your barrier code were 5555 and *4 was LWC on, #4 LWC off, then sending a call over SIP to the linksys to the analog port on the CO trunk card, it would send yuo to 3333 where you would get you dialtone. Outpulse 5555 pause *4 pause 123 and you'd send a message to light that lamp.

I think you can use remote access with console permissions to use LWC. You can try pretty easily.
 
Hi Kyle,

I'm totally intrigued by this idea of using the remote access extension with the PAP2T. I will definitely give it a try and report back.

Michael
 
lwc will not work without qsig between Avaya and other pbx unless the pbx is also Avaya and uses proprietary DCS signaling which is defined on the signaling-group tsc form

A great teacher, does not provide answers, but methods to teach others "How and where to find the answers"

bsh

40 years Bell, AT&T, Lucent, Avaya
Tier 3 for 30 years and counting
[URL unfurl="true"]http://bshtele.com[/url]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top