[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 848
  • Last Modified:

Trixbox custom dial plan ring time

I am currently using Trixbox 2.2. What we needed was when someone calls our main number they get the operator, the operator transfers to an extension, if the extension goes unanswered for 90 seconds transfer back to the operator. I have this dialplan working except the ringtime to an extension is only about 50 seconds until it is returned to the operator. This is driving me nuts trying to figure out. I have attached my code below. My code notifys the operator that the returned call is holding for an extesion, then strips off the callerid name when transfered back to the extension.



Thank you in advance
exten => _51[0-6]x,1,SetVar(__temp=${EXTEN})
exten => _51[0-6]x,2,GotoIf($[${LEN(${CALLERID(num)})} > 4]?external:internal)
exten => _51[0-6]x,3(internal),Set(CALLERID(name)=${IF($[${CALLERID(name)}=device]?${DB(AMPUSER/${CALLERID(num)}/cidname)}:${CALLERID(name)})})
exten => _51[0-6]x,4(internal),Dial(SIP/${temp},45)
exten => _51[0-6]x,5,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => _51[0-6]x,6(external),SetVar(__temp1=${LEN(${DB(AMPUSER/${EXTEN}/cidname)})})
exten => _51[0-6]x,7(external),SetVar(__temp2=${LEN(${CALLERID(name)})}})
exten => _51[0-6]x,8(external),SetVar(__temp3=${MATH(${temp1}+${temp2})}) 
exten => _51[0-6]x,9(external),SetVar(__temp4=${MATH(${temp1}+1)})
exten => _51[0-6]x,10,Gotoif($["${CALLERID(name):0:${temp1}}"="${DB(AMPUSER/${EXTEN}/cidname)}"]?20:25)
exten => _51[0-6]x,20,Set(CALLERID(name)=${CALLERID(name):${temp4}:${temp3})
exten => _51[0-6]x,21,Goto(30)
exten => _51[0-6]x,25,Set(CALLERID(name)=${CALLERID(name)})
exten => _51[0-6]x,26,Goto(30)
exten => _51[0-6]x,30,Dial(SIP/${EXTEN},120,tm(default))
exten => _51[0-6]x,n,Set(CALLERID(name)=${DB(AMPUSER/${EXTEN}/cidname)}:${CALLERID(name)})
exten => _51[0-6]x,n,Dial(SIP/5100,999,tm) 
exten => _51[0-6]x,n(unavail),Voicemail(${temp}@default,u)
exten => _51[0-6]x,n,Hangup()
exten => _51[0-6]x,n(busy),VoiceMail(${temp}@default,b)

Open in new window

0
sqlguy29
Asked:
sqlguy29
  • 6
  • 4
1 Solution
 
Ron MalmsteadInformation Services ManagerCommented:
exten => _51[0-6]x,4(internal),Dial(SIP/${temp},45)            <<<< 45 seconds

I  wonder if it is evaluating the transfer back, as an internal dial.
0
 
sqlguy29Author Commented:
No, I have verified that it is using  exten => _51[0-6]x,30,Dial(SIP/${EXTEN},120,tm(default))
if it were using the internal one it would end up going to voicemail not back to the operator.
0
 
Ron MalmsteadInformation Services ManagerCommented:
right on....I just thought I would throw that out there, since that is the only place where I see Dial() and a 45 second wait...

That is strange...

.....  have you tried doing an incoming test call, while veiwing the CLI ?  Might be easier to tell what is happening.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
sqlguy29Author Commented:
yes i have and I see that it is going to exten => _51[0-6]x,30,Dial(SIP/${EXTEN},120,tm(default))
and the wait is 120, but it only waits  for 60 no matter how long I set it for.

This one really has me going in loops.
0
 
Ron MalmsteadInformation Services ManagerCommented:
ok...this could be a dumb suggestion...but what do we have to lose at this point ?
...could it possibly be the phone settings ?...sending it to voicemail after 60 seconds ?
0
 
Ron MalmsteadInformation Services ManagerCommented:
...maybe not voicemail..since you said it's not going to voicemail....  but maybe some other timeout setting for no answer on the phone.
0
 
Ron MalmsteadInformation Services ManagerCommented:
oh...what about (default).... what is in that macro ?

0
 
sqlguy29Author Commented:
if you are refering to the default in (exten => _51[0-6]x,30,Dial(SIP/${EXTEN},120,tm(default)))
That is the default music on hold.

In the phone1.cfg under divert.noanswer I changed the timeout value to 300.  still no go.
0
 
sqlguy29Author Commented:
Found the answer. In sip.cfg the call.ringBackTimeOut  value needs to be equal to or greater than the timeout value in the Dial() command.

Thank you for you help.
0
 
Ron MalmsteadInformation Services ManagerCommented:
cool...  You could have kept your points though since you found the answer yourself.
Add that one the knowlegebase though for sure.
0

Featured Post

Reclaim your office - Try the MB 660 headset now!

High level of background noise often makes it difficult for employees to concentrate fully on their jobs – or to communicate clearly on calls. The MB 660 headset helps you create a disruption free workspace.  

  • 6
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now