Aloi, Christopher
2006-Feb-17 08:06 UTC
[Asterisk-Users] A unique 'click to call' project - Could use some advice
Hello List, I work for an IP communication provider in upstate NY as the engineer assisting our technical support team. We provide a number of different Telco systems to residential subscribers; and in an effort to more effectively trouble shoot termination problems I came up with the idea of creating a click to call system that will allow our agents to effortlessly place test calls. On a daily basis we place numerous (50-100) 'test' calls to various locations in the US; these 'test' calls are routed using one of three different phone systems: 1) The PSTN 2) Broadband phone platform one 3) Broadband phone platform two I have an Asterisk server configured that can terminate out three platforms listed above. Our support agents are behind a Televantage ACD using D-TermSeries E NEC phones. Each agent has a DID and are permitted to receive inbound calls on that DID. Here is my goal: Create a web application that will allow the agent to enter the following information into a form: 1) The agents DID 2) The platform the agent wishes to terminate a test call through (either 1,2,3 above) 3) The number the agent wishes to terminate to My thought is this form will generate a .call file in /var/spool/asterisk/outgoing that will then ring the agents station, pause, and terminate to the selected DID using the selected platform. I also thought about interacting directly with the AGI. I can successfully generate the .call files, and ring a station on the Asterisk server - the problem is the agents are not on the Asterisk server. Is there a way to use Asterisk to initiate these test calls? Is it possible to create a forwarding context to handle this? Any thoughts? Thanks for the help! Cheers, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: caloi@usadatanet.com <mailto:caloi@usadatanet.com> -- -- -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20060217/6d0d6b3b/attachment.htm
BJ Weschke
2006-Feb-17 08:24 UTC
[Asterisk-Users] A unique 'click to call' project - Could use some advice
On 2/17/06, Aloi, Christopher <caloi@usadatanet.com> wrote:> Hello List, > > I work for an IP communication provider in upstate NY as the engineer > assisting our technical support team. > We provide a number of different Telco systems to residential subscribers; > and in an effort to more effectively trouble shoot termination problems I > came up with the idea of creating a click to call system that will allow our > agents to effortlessly place test calls. > > On a daily basis we place numerous (50-100) 'test' calls to various > locations in the US; these 'test' calls are routed using one of three > different phone systems: > > 1) The PSTN > 2) Broadband phone platform one > 3) Broadband phone platform two > > I have an Asterisk server configured that can terminate out three platforms > listed above. > > Our support agents are behind a Televantage ACD using D-TermSeries E NEC > phones. > Each agent has a DID and are permitted to receive inbound calls on that DID. > > Here is my goal: > > Create a web application that will allow the agent to enter the following > information into a form: > > 1) The agents DID > 2) The platform the agent wishes to terminate a test call through (either > 1,2,3 above) > 3) The number the agent wishes to terminate to > > My thought is this form will generate a .call file in > /var/spool/asterisk/outgoing that will then ring the agents station, pause, > and terminate to the selected DID using the selected platform. I also > thought about interacting directly with the AGI. > > I can successfully generate the .call files, and ring a station on the > Asterisk server - the problem is the agents are not on the Asterisk server. > > Is there a way to use Asterisk to initiate these test calls? > > Is it possible to create a forwarding context to handle this? >There's a couple ways to go about getting the calls to your agents. The first, and probably easiest would just be to dial out through the PSTN on Asterisk to the DIDs on the other system, but that obviously is a waste cost and resources wise. The second, would probably be to do a PRI DS1 tie line between the NEC and Asterisk and then just dial the DID on a Zap channel that belongs to that span to get to your agents. But your objectives sound like they are definitely achievable with some work. BJ -- Bird's The Word Technologies, Inc. http://www.btwtech.com/
Colin Anderson
2006-Feb-17 08:41 UTC
[Asterisk-Users] A unique 'click to call' project - Could use some advice
You create a context in your dialplan that accepts the DID to call as a variable using the SetVar: syntax in your .call file. You then set up the context to call your agent, and when they pick up, the context takes the variable you set in your .call file as the dialstring argument for a subsequent Dial(). Once the DID picks up, the calls are bridged together. Whatever web scripting language you use writes the .call file, and you use POSTed arguments or querystrings: http://foo.com/call?context=MyContext <http://foo.com/call?context=MyContext&Agent=SIP/5555&DID=15555551212> &Agent=SIP/5555&DID=15555551212 You can see this in action at www.landmarkhomes.ca <http://www.landmarkhomes.ca> - click on any of the pretty buttons that say "Call us now" However, I have noticed that * 1.2.x will not wait for the caller to pick up before executing the rest of the directives in the context - it keeps executing regardless of the calling party's pickup status. Using * 1.0.x the context will wait for the caller to pick up before placing the call to the callee (i.e. executing the rest of the directives in the context) .call file (shortened to relevant) Channel: SIP/XXXX (if you are using SIP phones) SetVar: DID=XXXXXXXXXXX Context: MyContext [MyContext] exten => s,1,Dial(ZAP/g0/${DID}) hth -----Original Message----- From: Aloi, Christopher [mailto:caloi@usadatanet.com] Sent: Friday, February 17, 2006 8:07 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: [Asterisk-Users] A unique 'click to call' project - Could use some advice Hello List, I work for an IP communication provider in upstate NY as the engineer assisting our technical support team. We provide a number of different Telco systems to residential subscribers; and in an effort to more effectively trouble shoot termination problems I came up with the idea of creating a click to call system that will allow our agents to effortlessly place test calls. On a daily basis we place numerous (50-100) 'test' calls to various locations in the US; these 'test' calls are routed using one of three different phone systems: 1) The PSTN 2) Broadband phone platform one 3) Broadband phone platform two I have an Asterisk server configured that can terminate out three platforms listed above. Our support agents are behind a Televantage ACD using D-TermSeries E NEC phones. Each agent has a DID and are permitted to receive inbound calls on that DID. Here is my goal: Create a web application that will allow the agent to enter the following information into a form: 1) The agents DID 2) The platform the agent wishes to terminate a test call through (either 1,2,3 above) 3) The number the agent wishes to terminate to My thought is this form will generate a .call file in /var/spool/asterisk/outgoing that will then ring the agents station, pause, and terminate to the selected DID using the selected platform. I also thought about interacting directly with the AGI. I can successfully generate the .call files, and ring a station on the Asterisk server - the problem is the agents are not on the Asterisk server. Is there a way to use Asterisk to initiate these test calls? Is it possible to create a forwarding context to handle this? Any thoughts? Thanks for the help! Cheers, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: <mailto:caloi@usadatanet.com> caloi@usadatanet.com -- -- -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20060217/7a64ccfb/attachment.htm
Gerard Saraber
2006-Feb-17 09:18 UTC
[Asterisk-Users] A unique 'click to call' project - Could use some advice
I'm using the telnet manager interface with the 'originate' command, just a little perl script that connects and has asterisk dial the selected number. It rings the extension first, if they pick up, it'll dial the remote number. It's one of the showcase features of the new phonesystem for us :) and it was surprisingly easy to implement. -- Regards, Gerard Saraber Network Admin, Rarcoa, Inc. (630) 654-2580 x11 gsaraber@rarcoa.com
Colin Anderson
2006-Feb-17 10:35 UTC
[Asterisk-Users] A unique 'click to call' project - Could use some advice
Same as before but instead of SIP as the origination channel you pass ZAP/g0/XXXXXXXXXXX (the DID of the agent) to your .call file. In fact, this is exactly how the www.landmarkhomes.ca <http://www.landmarkhomes.ca> script works (it calls the guy who entered his phone number in the website, when he picks up, it calls the salesperson's cell number and the two are bridged together) The drawback is, of course, that it uses 2 ZAP channels to bridge the call together, but this isn't a problem I guess for you since you seem to have ZAP channels coming out of your yinyang. I have an implementation in Active Server Pages (we are a MS shop) that I can send you - it's suprisingly simple - but it could be easily modified for PHP or what have you. -----Original Message----- From: Aloi, Christopher [mailto:caloi@usadatanet.com] Sent: Friday, February 17, 2006 9:56 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: RE: [Asterisk-Users] A unique 'click to call' project - Could usesome advice Colin, Thanks for your assistance. Reading over your advice I seem to still be a bit confused. My agents are not on the Asterisk server; it appears in your advice that my the call will travel this path: WWW interface --> agent enters their DID, platform to use, and termination DID --> AST calls agent --> Agent calls termination DID If my agents are not on the Asterisk server (believe me, I wish there were) :) how will this work? I need a way to pass both the desired termination DID and the origination DID. Maybe I missed something.... Thanks, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: <mailto:caloi@usadatanet.com> caloi@usadatanet.com -- -- -- _____ From: Colin Anderson [mailto:ColinA@landmarkmasterbuilder.com] Sent: Friday, February 17, 2006 10:42 AM To: 'Asterisk Users Mailing List - Non-Commercial Discussion' Subject: RE: [Asterisk-Users] A unique 'click to call' project - Could usesome advice You create a context in your dialplan that accepts the DID to call as a variable using the SetVar: syntax in your .call file. You then set up the context to call your agent, and when they pick up, the context takes the variable you set in your .call file as the dialstring argument for a subsequent Dial(). Once the DID picks up, the calls are bridged together. Whatever web scripting language you use writes the .call file, and you use POSTed arguments or querystrings: http://foo.com/call?context=MyContext <http://foo.com/call?context=MyContext&Agent=SIP/5555&DID=15555551212> &Agent=SIP/5555&DID=15555551212 You can see this in action at www.landmarkhomes.ca <http://www.landmarkhomes.ca> - click on any of the pretty buttons that say "Call us now" However, I have noticed that * 1.2.x will not wait for the caller to pick up before executing the rest of the directives in the context - it keeps executing regardless of the calling party's pickup status. Using * 1.0.x the context will wait for the caller to pick up before placing the call to the callee (i.e. executing the rest of the directives in the context) .call file (shortened to relevant) Channel: SIP/XXXX (if you are using SIP phones) SetVar: DID=XXXXXXXXXXX Context: MyContext [MyContext] exten => s,1,Dial(ZAP/g0/${DID}) hth -----Original Message----- From: Aloi, Christopher [mailto:caloi@usadatanet.com] Sent: Friday, February 17, 2006 8:07 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: [Asterisk-Users] A unique 'click to call' project - Could use some advice Hello List, I work for an IP communication provider in upstate NY as the engineer assisting our technical support team. We provide a number of different Telco systems to residential subscribers; and in an effort to more effectively trouble shoot termination problems I came up with the idea of creating a click to call system that will allow our agents to effortlessly place test calls. On a daily basis we place numerous (50-100) 'test' calls to various locations in the US; these 'test' calls are routed using one of three different phone systems: 1) The PSTN 2) Broadband phone platform one 3) Broadband phone platform two I have an Asterisk server configured that can terminate out three platforms listed above. Our support agents are behind a Televantage ACD using D-TermSeries E NEC phones. Each agent has a DID and are permitted to receive inbound calls on that DID. Here is my goal: Create a web application that will allow the agent to enter the following information into a form: 1) The agents DID 2) The platform the agent wishes to terminate a test call through (either 1,2,3 above) 3) The number the agent wishes to terminate to My thought is this form will generate a .call file in /var/spool/asterisk/outgoing that will then ring the agents station, pause, and terminate to the selected DID using the selected platform. I also thought about interacting directly with the AGI. I can successfully generate the .call files, and ring a station on the Asterisk server - the problem is the agents are not on the Asterisk server. Is there a way to use Asterisk to initiate these test calls? Is it possible to create a forwarding context to handle this? Any thoughts? Thanks for the help! Cheers, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: <mailto:caloi@usadatanet.com> caloi@usadatanet.com -- -- -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20060217/003ca53a/attachment.htm
Colin Anderson
2006-Feb-17 11:58 UTC
[Asterisk-Users] A unique 'click to call' project - Could use some advice
<% language=vbscript 'ASP page PhoneNumber=Request.Querystring("PhoneNumber") 'Get the number to call on the first leg of the call PhoneNumber2=Request.Querystring("PhoneNumber2") 'Get the number to terminate the call to Context=request.querystring("Context") 'Get the context to execute on the Asterisk box Extension=request.querystring("Extension") 'Optional, start from a particular extension, otherwise pass the 's' extension PhonePrefix=Left(PhoneNumber,3) 'Grab out the first 3 digits of the NAMA number to determine if it's local or LD 'from the perspective of the Asterisk box If PhonePrefix="780" then 'If it's a local call, then NumberToCall=Right(PhoneNumber,7) 'Return the rightmost 7 digits Else NumberToCall= "1" & PhoneNumber 'It's a LD call, so append 1 to the NAMA number End If Randomize 'We create a pseudo-random number for the .call file filename set fs = CreateObject("Scripting.FileSystemObject") set file = fs.CreateTextFile(" <file://\\192.168.1.46\outgoing\> \\192.168.1.46\outgoing\" & int(Rnd * 1000) & ".call", true, false) 'Dump the call file to a SAMBA share on the Asterisk box. 'A looping script running on the Asterisk box looks for any .call files, and if it finds one, moves the .call file to /var/spool/asterisk/outgoing 'You can do this in PHP with an SCP command instead file.WriteLine("Channel: ZAP/g0/" & NumberToCall) file.WriteLine("SetVar: CALLEDPARTY=" & PhoneNumber2) file.WriteLine("CallerID: 18888988884") 'Set your caller ID where appropriate file.WriteLine("MaxRetries: 2") file.WriteLine("RetryTime: 60") file.WriteLine("WaitTime: 60") file.WriteLine("Context: " & Context) file.WriteLine("Extension: " & Extension) file.WriteLine("Priority: 1") file.Close 'Finish up and unlock the file for the looping script to pick up response.write "&OK=1" 'Response.write a variable back to Flash indicating the call was placed successfully. Otherwise you could 'write back some HTML saying "Your call was executed correctly" or some such. %> URL to dial: http://www.foo.com/call.asp?PhoneNumber=7805551212 <http://www.foo.com/call.asp?PhoneNumber=7805551212&PhoneNumber2=7805551213& Context=MyContext&extension=s> &PhoneNumber2=7805551213&Context=MyContext&extension=s [MyContext] 'In Asterisk 1.0.X, this context is executed AFTER the calling party picks up the phone, which is what we want. exten => s,1,Dial(ZAP/g0/${CALLEDPARTY},40,T) hth -----Original Message----- From: Aloi, Christopher [mailto:caloi@usadatanet.com] Sent: Friday, February 17, 2006 11:16 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: RE: [Asterisk-Users] A unique 'click to call' project - Could usesome advice Thanks Colin! Makes sense; I will work on this later today. If you can, sending the example would be great. Thanks, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: <mailto:caloi@usadatanet.com> caloi@usadatanet.com -- -- -- _____ From: Colin Anderson [mailto:ColinA@landmarkmasterbuilder.com] Sent: Friday, February 17, 2006 12:36 PM To: 'Asterisk Users Mailing List - Non-Commercial Discussion' Subject: RE: [Asterisk-Users] A unique 'click to call' project - Could usesome advice Same as before but instead of SIP as the origination channel you pass ZAP/g0/XXXXXXXXXXX (the DID of the agent) to your .call file. In fact, this is exactly how the www.landmarkhomes.ca <http://www.landmarkhomes.ca> script works (it calls the guy who entered his phone number in the website, when he picks up, it calls the salesperson's cell number and the two are bridged together) The drawback is, of course, that it uses 2 ZAP channels to bridge the call together, but this isn't a problem I guess for you since you seem to have ZAP channels coming out of your yinyang. I have an implementation in Active Server Pages (we are a MS shop) that I can send you - it's suprisingly simple - but it could be easily modified for PHP or what have you. -----Original Message----- From: Aloi, Christopher [mailto:caloi@usadatanet.com] Sent: Friday, February 17, 2006 9:56 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: RE: [Asterisk-Users] A unique 'click to call' project - Could usesome advice Colin, Thanks for your assistance. Reading over your advice I seem to still be a bit confused. My agents are not on the Asterisk server; it appears in your advice that my the call will travel this path: WWW interface --> agent enters their DID, platform to use, and termination DID --> AST calls agent --> Agent calls termination DID If my agents are not on the Asterisk server (believe me, I wish there were) :) how will this work? I need a way to pass both the desired termination DID and the origination DID. Maybe I missed something.... Thanks, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: <mailto:caloi@usadatanet.com> caloi@usadatanet.com -- -- -- _____ From: Colin Anderson [mailto:ColinA@landmarkmasterbuilder.com] Sent: Friday, February 17, 2006 10:42 AM To: 'Asterisk Users Mailing List - Non-Commercial Discussion' Subject: RE: [Asterisk-Users] A unique 'click to call' project - Could usesome advice You create a context in your dialplan that accepts the DID to call as a variable using the SetVar: syntax in your .call file. You then set up the context to call your agent, and when they pick up, the context takes the variable you set in your .call file as the dialstring argument for a subsequent Dial(). Once the DID picks up, the calls are bridged together. Whatever web scripting language you use writes the .call file, and you use POSTed arguments or querystrings: http://foo.com/call?context=MyContext <http://foo.com/call?context=MyContext&Agent=SIP/5555&DID=15555551212> &Agent=SIP/5555&DID=15555551212 You can see this in action at www.landmarkhomes.ca <http://www.landmarkhomes.ca> - click on any of the pretty buttons that say "Call us now" However, I have noticed that * 1.2.x will not wait for the caller to pick up before executing the rest of the directives in the context - it keeps executing regardless of the calling party's pickup status. Using * 1.0.x the context will wait for the caller to pick up before placing the call to the callee (i.e. executing the rest of the directives in the context) .call file (shortened to relevant) Channel: SIP/XXXX (if you are using SIP phones) SetVar: DID=XXXXXXXXXXX Context: MyContext [MyContext] exten => s,1,Dial(ZAP/g0/${DID}) hth -----Original Message----- From: Aloi, Christopher [mailto:caloi@usadatanet.com] Sent: Friday, February 17, 2006 8:07 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: [Asterisk-Users] A unique 'click to call' project - Could use some advice Hello List, I work for an IP communication provider in upstate NY as the engineer assisting our technical support team. We provide a number of different Telco systems to residential subscribers; and in an effort to more effectively trouble shoot termination problems I came up with the idea of creating a click to call system that will allow our agents to effortlessly place test calls. On a daily basis we place numerous (50-100) 'test' calls to various locations in the US; these 'test' calls are routed using one of three different phone systems: 1) The PSTN 2) Broadband phone platform one 3) Broadband phone platform two I have an Asterisk server configured that can terminate out three platforms listed above. Our support agents are behind a Televantage ACD using D-TermSeries E NEC phones. Each agent has a DID and are permitted to receive inbound calls on that DID. Here is my goal: Create a web application that will allow the agent to enter the following information into a form: 1) The agents DID 2) The platform the agent wishes to terminate a test call through (either 1,2,3 above) 3) The number the agent wishes to terminate to My thought is this form will generate a .call file in /var/spool/asterisk/outgoing that will then ring the agents station, pause, and terminate to the selected DID using the selected platform. I also thought about interacting directly with the AGI. I can successfully generate the .call files, and ring a station on the Asterisk server - the problem is the agents are not on the Asterisk server. Is there a way to use Asterisk to initiate these test calls? Is it possible to create a forwarding context to handle this? Any thoughts? Thanks for the help! Cheers, -- -- -- Christopher T. Aloi USA Datanet - Technical Support Engineer 318 South Clinton Street Syracuse, NY 13202 C: (315) 569 4033 O: (315) 579 7074 E: <mailto:caloi@usadatanet.com> caloi@usadatanet.com -- -- -- -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20060217/196142c5/attachment.htm
Possibly Parallel Threads
- A unique 'click to call' project - Could usesome advice
- A unique 'click to call' project - Could usesomeadvice
- A unique 'click to call' project - Could use some advice <--one thing I forgot
- A unique 'click to call' project - Could use someadvice
- Configuring for outbound calls with PRI on T100P