Changeset 8124

Show
Ignore:
Timestamp:
08/24/09 15:51:30 (4 years ago)
Author:
p_lindheimer
Message:

add USEQUEUESTATE flag to use 'HINT:' format re #3562 and re 3496 but related to the Asterisk patch: https://issues.asterisk.org/view.php?id=15168 since the proposed changes break with DEVSTATE and deviceanduser mode, this functionality is slated to go into 1.6 and will be automatic in there once the version is determined

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/branches/2.6/queues/functions.inc.php

    r7900 r8124  
    3636 
    3737    global $db; 
     38    global $amp_conf; 
    3839 
    3940    $additional = ""; 
     
    5859    } 
    5960 
     61    if ($amp_conf['USEQUEUESTATE']) { 
     62      $users = array(); 
     63      $user_results = core_users_list(); 
     64      if (is_array($user_results)) { 
     65        foreach ($user_results as $user) { 
     66          $users[$user[0]] = $user[1]; 
     67        } 
     68        unset($user_results); 
     69      } 
     70    } 
    6071    $results = queues_list(true); 
    6172    foreach ($results as $result) { 
     
    118129      // Now pull out all the memebers, one line for each 
    119130      // 
    120       foreach ($members as $member) { 
    121         $output .= "member=".$member."\n"; 
    122       } 
     131      if ($amp_conf['USEQUEUESTATE']) { 
     132        foreach ($members as $member) { 
     133          preg_match("/^Local\/([\d]+)\@*/",$member,$matches); 
     134          if (isset($matches[1]) && isset($users[$matches[1]])) { 
     135            $name = $users[$matches[1]]; 
     136            str_replace(',','\,',$name); 
     137            $output .= "member=$member,$name,HINT:".$matches[1]."@ext-local\n"; 
     138          } else { 
     139            $output .= "member=".$member."\n"; 
     140          } 
     141        } 
     142      } else { 
     143        foreach ($members as $member) { 
     144          $output .= "member=".$member."\n"; 
     145        } 
     146      } 
    123147      $output .= $additional."\n"; 
    124148    } 
     
    455479      $ext->add($context, $exten, '', new ext_execif('$["${QREGEX}" != ""]', 'GotoIf', '$["${REGEX("${QREGEX}" ${CALLBACKNUM})}" = "0"]?invalid')); 
    456480      $ext->add($context, $exten, '', new ext_execif('$["${ARG2}" != ""]', 'Authenticate', '${ARG2}')); 
    457       $ext->add($context, $exten, 'a9', new ext_addqueuemember('${ARG1}', 'Local/${CALLBACKNUM}@from-queue/n')); 
    458       $ext->add($context, $exten, '', new ext_userevent('Agentlogin', 'Agent: ${CALLBACKNUM}')); 
    459       $ext->add($context, $exten, '', new ext_wait(1)); 
    460       $ext->add($context, $exten, '', new ext_playback('agent-loginok&with&extension')); 
    461       $ext->add($context, $exten, '', new ext_saydigits('${CALLBACKNUM}')); 
    462       $ext->add($context, $exten, '', new ext_hangup()); 
    463       $ext->add($context, $exten, '', new ext_macroexit()); 
    464       $ext->add($context, $exten, 'invalid', new ext_playback('pbx-invalid')); 
    465       $ext->add($context, $exten, '', new ext_goto('a3')); 
     481 
     482 
     483      if ($amp_conf['USEQUEUESTATE']) { 
     484        $ext->add($context, $exten, '', new ext_execif('$[${DB_EXISTS(AMPUSER/${CALLBACKNUM}/cidname)} = 1]', 'AddQueueMember', '${ARG1},Local/${CALLBACKNUM}@from-queue/n,0,,${DB(AMPUSER/${CALLBACKNUM}/cidname)},HINT:${CALLBACKNUM}@ext-local')); 
     485        $ext->add($context, $exten, '', new ext_execif('$[${DB_EXISTS(AMPUSER/${CALLBACKNUM}/cidname)} = 0]', 'AddQueueMember', '${ARG1},Local/${CALLBACKNUM}@from-queue/n')); 
     486      } else { 
     487        $ext->add($context, $exten, 'a9', new ext_addqueuemember('${ARG1}', 'Local/${CALLBACKNUM}@from-queue/n')); 
     488      } 
     489      $ext->add($context, $exten, '', new ext_userevent('Agentlogin', 'Agent: ${CALLBACKNUM}')); 
     490      $ext->add($context, $exten, '', new ext_wait(1)); 
     491      $ext->add($context, $exten, '', new ext_playback('agent-loginok&with&extension')); 
     492      $ext->add($context, $exten, '', new ext_saydigits('${CALLBACKNUM}')); 
     493      $ext->add($context, $exten, '', new ext_hangup()); 
     494      $ext->add($context, $exten, '', new ext_macroexit()); 
     495      $ext->add($context, $exten, 'invalid', new ext_playback('pbx-invalid')); 
     496      $ext->add($context, $exten, '', new ext_goto('a3')); 
    466497 
    467498      /* 
     
    886917  $ext->add($id, $c, '', new ext_macro('user-callerid,SKIPTTL')); 
    887918  $ext->add($id, $c, '', new ext_setvar('CALLBACKNUM','${AMPUSUER}')); 
    888   $ext->add($id, $c, '', new ext_addqueuemember('${QUEUENO}','Local/${CALLBACKNUM}@from-queue/n')); 
     919 
     920  // I think that when using this it will always be a user, but just in case... 
     921  // 
     922  if ($amp_conf['USEQUEUESTATE']) { 
     923    $ext->add($id, $c, '', new ext_execif('$[${DB_EXISTS(AMPUSER/${CALLBACKNUM}/cidname)} = 1]', 'AddQueueMember', '${QUEUENO},Local/${CALLBACKNUM}@from-queue/n,0,,${DB(AMPUSER/${CALLBACKNUM}/cidname)},HINT:${CALLBACKNUM}@ext-local')); 
     924    $ext->add($id, $c, '', new ext_execif('$[${DB_EXISTS(AMPUSER/${CALLBACKNUM}/cidname)} = 0]', 'AddQueueMember', '${QUEUENO},Local/${CALLBACKNUM}@from-queue/n')); 
     925  } else { 
     926    $ext->add($id, $c, '', new ext_addqueuemember('${QUEUENO}','Local/${CALLBACKNUM}@from-queue/n')); 
     927  } 
     928 
    889929  $ext->add($id, $c, '', new ext_userevent('AgentLogin','Agent: ${CALLBACKNUM}')); 
    890930  $ext->add($id, $c, '', new ext_macroexit());