play record for outgoing campaing

Discussion in 'General' started by cmrahman, Mar 26, 2009.

  1. cmrahman

    Joined:
    Jul 21, 2008
    Messages:
    47
    Likes Received:
    0
    How to make callcenter play record rather then connecting to extensions for outgoing campaign?


    Anybody know anything on this issue?

    Thanks:silly: :silly:
     
  2. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
  3. cmrahman

    Joined:
    Jul 21, 2008
    Messages:
    47
    Likes Received:
    0
    Thank you but can you please post this in English so I can understand. You do not need to translate everything, just the answer to my question.

    Thanks ;)
     
  4. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    Here is a simple context that will help you to achieve your goal, then you may customize it:

    1. edit /etc/asterisk/extensions_custom.conf find and leave this section like this:

    Code:
    [from-internal-custom]
       exten => 1234,1,Playback(demo-congrats)         ; extensions can dial 1234
       exten => 1234,2,Hangup()
       exten => h,1,Hangup()
       include => agentlogin
       include => conferences
       include => calendar-event
       include => weather-wakeup
       include => automatic-message
    
    As you will see, I have added: include => automatic-message

    2. On the same file, you may go to the end and write the following context:

    Code:
    [automatic-message]
    exten => 900,1,Answer
    exten => 900,n,Playback(custom/message)
    exten => 900,n,Hangup
    
    I'm supposing that there is an audio file on /var/lib/asterisk/sounds/custom/ called message.wav (or any audio format that may be played by asterisk)

    3. You need to create a queue 900, there you will put the agents (A1001 for example...). You may register the agents using any softphone, remember, they will not be used by any person, they will just be connected

    4. Now on the outbound campaign setup, you will need to choose queue 900, and the context you may leave it as from-internal
     
  5. soulofmischief87

    Joined:
    Apr 30, 2008
    Messages:
    42
    Likes Received:
    0
    nice work around i tried this to make an ivr when it answers but it didnt work it plays the sound but it hangs up and when i press any of the options it doesnt take me anywhere

    [mensaje-automatico]
    exten => 600,1,Answer
    exten => 600,2,Wait,2
    exten => 600,3,Playback(custom/mejor)
    exten => 600,4,SetMusicOnHold(default)
    exten => 600,5,DigitTimeout,5
    exten => 600,5,ResponseTimeout,10
    exten => 600,6,Background(greeting)
    exten => 1,1,Goto(incoming,001,1) ; (extension)
    exten => 2,1,Goto(incoming,601,1) ; (Sales Department)
    exten => 3,1,Goto(incoming,001,1) ; (IT)Step #3
    exten => 600,n,Wait,20
     
  6. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    try the following context:

    Code:
    [mensaje-automatico]
    exten => 600,1,Answer
    exten => 600,2,Wait,2
    exten => 600,3,Playback(custom/mejor)
    exten => 600,4,SetMusicOnHold(default)
    ;exten => 600,n,DigitTimeout,5
    ;exten => 600,n,ResponseTimeout,10
    exten => 600,n,Set(TIMEOUT(digit)=2)
    exten => 600,n,Set(TIMEOUT(response)=8)
    exten => 600,n,Background(greeting)
    exten => 600,n,WaitExten(,)
    exten => 1,1,Goto(incoming,001,1) ; (extension)
    exten => 2,1,Goto(incoming,601,1) ; (Sales Department)
    exten => 3,1,Goto(incoming,001,1) ; (IT)Step #3
    
     
  7. soulofmischief87

    Joined:
    Apr 30, 2008
    Messages:
    42
    Likes Received:
    0
    did try what you told me but it doesnt work
    do i have to create a [incoming,001,1] ?
    or how do i make it go automatically into another queue for example 601


    [mensaje-automatico]
    exten => 600,1,Answer
    exten => 600,2,Wait,2
    exten => 600,3,Playback(custom/mejor)
    exten => 600,4,SetMusicOnHold(default)
    ;exten => 600,n,DigitTimeout,5
    ;exten => 600,n,ResponseTimeout,10
    exten => 600,n,Set(TIMEOUT(digit)=2)
    exten => 600,n,Set(TIMEOUT(response)=8)
    exten => 600,n,Background(greeting)
    exten => 600,n,WaitExten(,)
    exten => 1,1,Goto(incoming,001,1) ; (extension)
    exten => 2,1,Goto(incoming,601,1) ; (Sales Department)
    exten => 3,1,Goto(incoming,001,1) ; (IT)Step #3
     
  8. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    yes I did test it, and it worked, I assumed that you had created the context incomming... (you included it on your example)

    any ways, try the following:
    [mensaje-automatico]
    exten => 600,1,Answer
    exten => 600,2,Wait,2
    exten => 600,3,Playback(custom/mejor)
    exten => 600,4,SetMusicOnHold(default)
    exten => 600,n,Set(TIMEOUT(digit)=2)
    exten => 600,n,Set(TIMEOUT(response)=8)
    exten => 600,n,Background(greeting)
    exten => 600,n,WaitExten(,)
    exten => 1,1,Goto(ext-queues,601,1) ; (Support Department Queue)
    exten => 2,1,Goto(ext-queues,602,1) ; (Sales Department Queue)
    exten => 3,1,Goto(ext-queues,603,1) ; (IT Department Queue)


    In this case I assume that you have already created queues 601,602,603, and if you want to call any of your extensions through the IVR, under the context, you should include the ext-local context.

    [mensaje-automatico]
    include => ext-local
    exten => 600,1,Answer
    exten => 600,2,Wait,2
    ...
     
  9. soulofmischief87

    Joined:
    Apr 30, 2008
    Messages:
    42
    Likes Received:
    0
    Great, this worked perfectly, is there a way to lower the amount of rings the dialer will allow the call to ring for?, for numbers that do not have answering machines, callcenter reports them as failure and probably waste alot of time
     
  10. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    I would try inserting

    exten => 600,1,Set(TIMEOUT(absolute)=20)

    at the beginning of the context(increasing the following priorities by one or replacing them with n)
    and after the answer

    exten => 600,n,Set(TIMEOUT(absolute)=0)

    this should set the limit to 5 rings (in the US) before aborting the call.
     
  11. soulofmischief87

    Joined:
    Apr 30, 2008
    Messages:
    42
    Likes Received:
    0
    This works, fine but when the calle does not press a key it put the calle back in the queue and hands the call to the callcenter agent rather than wait and hang up. How can i configure the it so that it waits for the ivr response longer and if there is no response hangs up the call?


    and i found the solution to that

    [mensaje-automatico]
    include => ext-local
    exten => 600,1,Answer
    exten => 600,2,Wait,1
    exten => 600,3,Playback(custom/carlos1)
    exten => 600,4,SetMusicOnHold(default)
    exten => 600,n,Set(TIMEOUT(digit)=2)
    exten => 600,n,Set(TIMEOUT(response)=20)
    exten => 600,n,Background(greeting)
    exten => 600,n,WaitExten(,)
    exten => 600,n,Hangup
    exten => 1,1,Goto(ext-queues,601,1) ; (Support Department Queue)
    exten => 2,1,Goto(ext-queues,602,1) ; (Sales Department Queue)
    exten => 3,1,Goto(ext-queues,603,1) ; (IT Department Queue)


    this waits for 20 seconds for response if there is no response it hangs up 20 seconds after playback is done
     
  12. dicko

    Joined:
    Oct 24, 2008
    Messages:
    4,099
    Likes Received:
    0
    Or add a timeout priority

    exten => t,1,hangup
     
  13. soulofmischief87

    Joined:
    Apr 30, 2008
    Messages:
    42
    Likes Received:
    0
    oo that works too thank you, using this method how many calls go out simultenously? or does that depend on how many agents are logged in?
     
  14. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    Yes, that depends on the availability of trunks that you have, as well as the number of agents connected.

    But if you would like to generate more than one call per agent, you may do the following:

    edit /opt/elastix/dialer/Predictivo.php

    and find the following section:

    Code:
    function predecirNumeroLlamadas($sNombreCola, $bPredecir = TRUE)
        {
            if (!isset($this->_estadisticasCola[$sNombreCola])) {
                    // Inventarse par
     
  15. soulofmischief87

    Joined:
    Apr 30, 2008
    Messages:
    42
    Likes Received:
    0
    thank you for response its been a great help to me how can i add amd answering machine detection to this configuration?

    [mensaje-automatico]
    include => ext-local
    exten => 600,1,Answer
    exten => 600,2,Wait,1
    exten => 600,3,Playback(custom/carlos1)
    exten => 600,4,SetMusicOnHold(default)
    exten => 600,n,Set(TIMEOUT(digit)=2)
    exten => 600,n,Set(TIMEOUT(response)=20)
    exten => 600,n,Background(greeting)
    exten => 600,n,WaitExten(,)
    exten => 600,n,Hangup
    exten => 1,1,Goto(ext-queues,601,1) ; (Support Department Queue)
    exten => 2,1,Goto(ext-queues,602,1) ; (Sales Department Queue)
    exten => 3,1,Goto(ext-queues,603,1) ; (IT Department Queue)
     
  16. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    I would try the following:

    Code:
    [mensaje-automatico]
    include => ext-local
    exten => 600,1,Answer
    exten => 600,n,BackgroundDetect(silence/5, 1500, 1000)
    exten => 600,n,Hangup
    exten => talk,1,Wait,1
    exten => talk,n,Playback(custom/carlos1)
    exten => talk,n,SetMusicOnHold(default)
    exten => talk,n,Set(TIMEOUT(digit)=2)
    exten => talk,n,Set(TIMEOUT(response)=20)
    exten => talk,n,Background(greeting)
    exten => talk,n,WaitExten(,)
    exten => talk,n,Hangup
    exten => 1,1,Goto(ext-queues,601,1) ; (Support Department Queue)
    exten => 2,1,Goto(ext-queues,602,1) ; (Sales Department Queue)
    exten => 3,1,Goto(ext-queues,603,1) ; (IT Department Queue) 
    
    Remember to adjust BackgroundDetect to fit your needs, so if asterisk detects that it is a human being, it will go to the talk priority, else, it will continue with n+1 priority, as you will see the next one is Hangup
     
  17. viraj

    Joined:
    Oct 30, 2008
    Messages:
    3
    Likes Received:
    0
    How do I have theses calls logged on the CDR or under the Campaing Reports?
     
  18. jgutierrez

    Joined:
    Feb 28, 2008
    Messages:
    5,737
    Likes Received:
    0
    If you mean to have a the answer machine status on the call center report, then you will need to do the following:

    1. backup /opt/elastix/dialer/Dialer.class.php
    2. edit /opt/elastix/dialer/Dialer.class.php
    over there change all the lines that says NoAnswer to AnswerMachine
    3. service elastix stop
    until it says failure
    4. service elastixdialer start
    5. backup /var/www/html/modules/campaign_out/libs/archivo_cvs.php
    6. edit /var/www/html/modules/campaign_out/libs/archivo_cvs.php
    leave this section like this:
    Code:
    where
       c.id_campaign=$idCampaign and 
       (c.status='Success' or c.status='Failure' or c.status='ShortCall' or c.status='AnswerMachine')
    order by
       telefono
    asc";
    
    also find this line:
    Code:
    $valor_recolectado[] =  $arrLan[$value_telefono['estado']];
    
    and leave it like:
    Code:
    $valor_recolectado[] =  $value_telefono['estado'];
    
     
  19. andres.vargasd

    Joined:
    Jun 29, 2010
    Messages:
    10
    Likes Received:
    0
    hola, tengo un post y la verdad veo que conoces del tema y me puedes ayudar.

    ya pude revisar y solucionar todo, pero lo que quiero es que en lugar de poner un mensaje fijo, lo pueda enviar a un IVR, osea que se convierta de una llamada de salida a una de entrada y dos un autologin, que no dependa de un agente si no sea automatica yo le di guardar a la campaña y arranque de uan solito.

    alguien sabe??

    http://www.elastix.org/es/component/kun ... 0&start=60

    Gracias
     
  20. ullu

    Joined:
    Jul 18, 2010
    Messages:
    2
    Likes Received:
    0

Share This Page