SlideShare una empresa de Scribd logo
1 de 99
MANUAL DEL PROGRAMADOR PAQUETE DIALER CONTENIDO INTRODUCCIÓN ,[object Object]
BAJO QUE METODOLOGIA ESTA DESARROLLADO?
LISTADO DE SCRIPTS
DESCRIPCION DE SCRIPTS
LISTADO DE FUNCIONES ADICIONALES
CODIGO FUENTEINTRODUCCION REF DIALER    MERGEFORMAT  REF DIALER    MERGEFORMAT  REF DIALER    MERGEFORMAT  El propósito de este manual del programador es dar a conocer al Lector (Programador) todas las referencias, scripts, códigos, variables, funciones y trucos empleados en el desarrollo del programa. Para ello se tratará de forma amena y concisa un repaso de todas las particularidades del programa con el fin que el Lector pueda modificar a su gusto algunos de los valores y parámetros de las funciones expuestas así como también un mejor entendimiento de los diferentes valores que adoptan las variables en ciertos momentos clave del desarrollo y que en adelante podrán ser susceptibles de cambios y reformas según sean las nuevas necesidades que se presenten en el futuro. Este desarrollo fue enfocado a tener un Dialer que se integre a todas las funcionalidades de Switchvox un producto de Asterisk. Todo el feedback de todos los desarrolladores ayudaran a fortalecer esta base de desarrollo y crecer basado en las necesidades del cliente final. ,[object Object]
 REF INTRODUCCION    MERGEFORMAT  REF INTRODUCCION    MERGEFORMAT La palabra Dialer es de origen anglosajón y hace referencia a un sistema de llamada telefónica en general. Pero hablando en el ámbito de Internet cuando se habla de los Dialer se refiere a unos programas que conectan a Internet a través de un número a cierto usuario. Pero por lo que respecta a nuestro paquete se refiere a un software de marcación automatizado para call center que enlaza una base de datos ingresada por el usuario y realiza una segmentación de las llamadas al ser distribuidas por el software de manera eficaz y eficiente a los distintos agentes que atenderán los diferentes servicios propios de la campaña.  De la misma manera las campañas son los diferentes objetivos de negocio de enlace que se tienen y que proveen una mejor administración, seguridad y control de las campañas y objetivos de negocio dentro del telemercadeo y demás distribuciones de llamadas. ,[object Object],La metodología utilizada para el desarrollo fue bajo la constante interacción de los programas PHP, MySQL, además de los servidores SugarCRM®, Switxhvox® y Asterik®. Por supuesto la comunicación entre los mismos es la base para identificar los diferentes servicios que se pueden emplear con esta herramienta. ,[object Object],El presente listado de scripts especifica las diferentes referencias entre scripts los cuales no solo transportan algunos datos específicos sino también la posibilidad de trabajar con las diferentes variables de los scripts referenciados para poder llevar a cabo los objetivos del mismo.  El listado se encuentra ordenado alfabéticamente lo que permite una mejor búsqueda de los scripts. ,[object Object],Scripts IncluidosHeader.php Script ActualagentConsole ,[object Object],Scripts Incluidos------ Script ActualCampaign ,[object Object],Scripts IncluidosHeader.phpFusionCharts_Gen.phpFooter.phpGetCampaignData.php Script ActualCampaignDetail ,[object Object],Scripts IncluidosHeader.phpSaveCampaign.phpIndex.phpFooter.php Script ActualCampaignEdit ,[object Object],Scripts IncluidosHeader.phpIndex.phpFooter.php Script ActualCampaignList ,[object Object],Scripts IncluidosHeader.phpCampaignEdit.phpFooter.php Script ActualCampaignView ,[object Object],Scripts Incluidos Script ActualDbConn ,[object Object],Scripts IncluidosHeader.phpsaveConfig.phpfooter.phpindex.php Script ActualDialerConfig ,[object Object],Scripts IncluidosHeader.phpsaveDoNotCall.phpindex.phpfooter.php Script ActualDncInsert ,[object Object],Scripts IncluidosdbConn.php Script ActualDoDial ,[object Object],Scripts Incluidos--- Script ActualDoDial2 ,[object Object],Scripts Incluidos---- Script ActualEn_us.lang ,[object Object],Scripts Incluidos---- Script ActualField_arrays ,[object Object],Scripts IncluidosHeader Script ActualFooter ,[object Object],Scripts IncluidosdbConn.php Script ActualGet_CampaignData Script ActualGlobal ,[object Object],Scripts Incluidosapm.phpauthnet.phpswitch.phpexport.phplinkpt.phppmnt.phpprint.phpsecure.phpsugar.phptelecontact.phpticket.phpsession.php ,[object Object],Scripts Incluidos Script ActualGlobalD ,[object Object],Scripts IncluidosdbConn.phpsession.phpDialer.jsCalendar.jsCalendar-es.jsCalendar-setup.js Script ActualHeader ,[object Object],Scripts IncluidosVcard.phpIndex.phpXtpl.phpLayout_utils.php Script ActualImportVCard ,[object Object],Scripts IncluidosHeader.phpSession.php Script ActualIndex ,[object Object],Scripts IncluidosdbConn.phpglobalD.php Script ActualIvrDialer ,[object Object],Scripts IncluidosdbConn.phpvardefs.phpglobal.php Script ActualIvrDialer2 ,[object Object],Scripts IncluidosCrm.phpVariable.phpMenu.phpEsp_es.phpEng_us.php Script ActualMain ,[object Object],Scripts IncluidosdbConn.php Script ActualSaveAnswer ,[object Object],Scripts IncluidosdbConn.php Script ActualSaveCallResult ,[object Object],Scripts IncluidosdbConn.phpglobalD.php Script ActualSaveCampaign ,[object Object],Scripts IncluidosdbConn.php Script ActualSaveConfig ,[object Object],Scripts IncluidosdbConn.php Script ActualSaveDNC ,[object Object],Scripts IncluidosdbConn.phpglobal.php Script ActualSaveDoNotCall ,[object Object],Scripts IncluidosdbConn.php Script ActualSaveHangUp ,[object Object],Scripts IncluidosdbConn.php Script ActualSaveShortCall ,[object Object],Scripts IncluidosentryPoint.phprecorder.php Script ActualSession ,[object Object],Scripts Incluidos----- Script ActualStudio ,[object Object],Scripts Incluidos--- Script ActualVardefs ,[object Object],Scripts IncluidosGlobal.php Script ActualVariable ,[object Object],La intención es identificar cada uno de los scripts saber que hacen, que entradas necesitan y por ultimo que resultados se obtienen de los mismos. De esta forma simplificar las diferentes opciones que se podrían modificar, borrar o guardar. El listado de los scripts se describe a continuación: NombreVariables de entrada Variables del scriptResultadosDescripciónagentConsole$DBLinkEXTENSIONCaller_id$headerTitle$queryCamp$Camp$extension$caller_id$queryInfoCamp$InfoCamp$rowInfoCamp$rowCamp[]Matriz con los id y telefonos del caller id.Selecciona las campañas activas busca las campañas asociadas al caller_id, y las imprime dentro de una matriz (tabla) los diferentes campos tanto identificadores como los números. campaign---NombreFecha_iniFecha_finHora_iniHora_finRetriesCall_fileBtnSaveEntrada de los datos de la campañaCrea un estilo dentro del script además que recibe los datos de la campaña como lo son nombre, rango fecha, rango hora, reintentos, el archivo de llamadas y los envía a una matriz..campaignDetailId$dbDialerFusionCharts.js$campId$dbDialer$DialerLink$queryDispo$Dispo$totRowsDispo$queryTotCalls$TotCalls$rowTotCalls$strParam$i$FC$acumCalls$rowDispo$queryCalls$Calls$rowCalls$porcent$arrData[][]Muestra en pantalla el status de la llamada, con todos sus atributos en fila y los totales de los mismos con la posibilidad de seleccionar solo las campañas con cierto atributo de estatus. Adicional da la posibilidad de ver la estadística de cierta campaña desplegando el grafico. Toma los datos del Header, recoge los diferentes status para realizar la llamada a la bases de datos o la totalidad de las mismas que es el que se toma por defecto, carga las librerías de graficación en flash, luego imprime la totalidad de las campañas y selecciona los datos para crear el grafico de campaña dependiendo de la campaña selecciona da, muestra según el status la cantidad de llamadas y los totales y por ultimo imprime al logo de la empresa con link al inicio. campaignEditId$DialerLink$campId$queryCamp$Camp$rowCampPermite modificar todos los datos de una campaña seleccionada.Consulta los detalles de la campaña  seleccionada y luego los imprime en la tabla respectiva que muestra los datos obtenidos de la base de datos de la campaña seleccionada y da la opción de modificar todos los datos a excepción del código y guardarlos seguido se tiene el script que configura el calendario. y por ultimo carga el logo con el link del inicio.campaignList$dbDialer$DialerLinkStatusCampaign$queryCampaign$statusId$campaign$queryComplete$Complete$rowComplete$queryIncomplete$InComplete$rowIncomplete$queryDNC$DNC$rowDNC$rowCampaignMuestra la tabla con el listado con todos los datos obtenidos de las Campañas  como lo son los campos id, nombre, inicio, fin Ivr, canales reintentos, éxitos, numero de restricciones, DNC(do not call), estado y la opción del reporte grafico al final con dar clic sobre la imagen.Selecciona la base de datos y con el campo campaña seleccionado, crea dos funciones en javascript, seguido crea la tabla y la llena con los campos seleccionados en la búsqueda luego selecciona la llamadas marcadas por lo menos una vez al igual que las que no han sido marcadas y las que son do not call pero si esta activa muestra todos los detalles de las llamadascampaignViewId$dbDialer$DialerLink$campID$queryCamp$Camp$rowCamp[]Muestra los detalles de la campaña dentro de la tabla preferida. Se consultan los registros de la base de datos que cumplan con el id enviado anteriormente y dependiendo del status seleccionado muestra en pantalla los registros que tengan este atributo y da la oportunidad de editar la misma enviándola al script de edición y por ultimo muestra el logo de la empresa con link al inicio.dbConnLocalhostDcs_call_apic4llc3nt3rdcs_call_center$host$user$pass$dbDialer$DialerLinkConecta con la base de datos.Primero renombra las variables, y crea el aceso de la base de datos.dialerConfig$dbDialer$DialerLink$queryConfig$config$rowConfig[]Muestra los datos de configuración con el servidor switchvox y el parámetro de espera.Accesa a la base de datos, revisa los campos de configuración, guarda los campos de configuración con los datos de url del servidor Switchvox, la contraseña para accesar al api de conexión con el mismo servidor y la variable de espera para la conexión. Además da la opción de guardar que lo envía al script de guardar la configuración. Y por ultimo muestra el logo  de la compañía con link al inicio. dncInsertGuarda un número de DNC.Muestra en pantalla el script de agregar un número al cual no marcar y presenta la entrada validando la existencia del mismo en la base de datos y enviándolo al script de guardar el DNC.doDialIdcampaignIdextNumbcall_center.class$campaignId$extNumb$queryCamp$Camp$rowCamp$Dial$rowDial[]$totRowsDial$phone$apiUrl$queryResult$ResultHace la marcación de los números ingresados  por la base de datos si es posible o muestra el motivo del error.Cambia las variables del id de campaña y la extensión en variables locales, selecciona los datos de la base de datos y si la opción de la campaña es activa entonces verifica que existan datos en las filas de la base de datos y si comprueba la inexistencia de filas por utilizar siendo cambia el estado de la base de datos a terminada y sale del script pero en otro caso realiza la marcación comprobando si se puede marcar en caso contrario muestra por pantalla que no se puede realizar la marcación de la campaña seleccionada todo realizado mediante un script.doDial2PhoneextNumb$apiUrl$ch$resp$xmlIntenta colocar la llamada y recibe un estado de la misma.Obtiene el numero de teléfono y la extensión e intenta colocar la llamada quita el encabezado del archivo envía los datos por medio de http y lo verifica dejando al xml que devuelva una respuesta del estado de la llamada.en_us.lang-----$mod_strings[]Carga de libreriasCarga de librerías según sea el caso que aceptan los lenguajes español e ingles.field_arrays----$fields_arrayAsigna los campos del arreglo llamado fields_arrayAsigna los campos del arreglo como son id, first_name, last_name, account_name, title, email1, phone_work, assigned_user_name, assigned_user_id, lead_source, lead_source_description, refered_by, opportunity_name, opportunity_amount, date_entered, status,invalid_email, 
campaign_id
footer---------Imprime en pantalla el logoImprime en pantalla el logo con un link al inicio.getCampaignDataCampaignStatusdbDialerDialerLink$campaign$status$queryData$Data$cadCsv$rowData[]$filename$fpEs la forma como se empaquetan los resultados de los números marcados o según el status que cada uno tiene.Obtiene los datos de campaña y el status para seleccionar la base de datos y dentro los datos a incluir dentro de la matriz cadCsv comprobando la  existencia de filas las concatena en la matriz $cadCsv para luego abrir un archivo y escribir en él y luego cerrarlo, pues es mas fácil trabajar con archivos locales que directamente con los de la base de datos y por ultimo especifica el tipo de archivo y su empaquetamiento par a mostrar los datos en el formato deseado que en este caso es .csvGlobalneedAuth$apmClass$authnetClass$SwitchClass$exportClass$linkptClass$paymentClass$printClass$secureClass$sugarClass$tcClass$ticketClassDefine los objetos y clases globales del paquete.Define los objetos y clases globales del paquete creando adicionalmente un nuevo objeto para cada clase especificada..globalDFunciones dentro del script:Cad_alea:getDnc:getFedDnc:setDnc:ConstruirPlantillaMarcadoOnOriginateResponseOnLink:UnOnLink:OnHangup:setActId:getActId:getByUnqId:CSV2DBDiferentes funciones con funciones esenciales dentro del códigoSe encuentran los códigos de funciones creación de cadenas aleatorias, obtenciony actualización de id’s creación de plantillas y callback ante un evento.Header$headerTitleEncabezado de la pagina.Configura el encabezado de la página y parte del calendario interno.ImportVCardVcardTmp_nameSizeLeadsLbl_module_nameRequest_string$vcard$recorder$mod_strings$theme$error_msg$theme_path$image_pathGlobales:$app_strings$app_list_strings$current_language$xtplSaca un template con algunos datos extraidos de los datos e la tarjeta y los envía para verificación.Accesa a la Vcard si existe, y luego comprueba su existencia.Index----Muestra el menú principal del Dialer con las principales funciones.Carga las variables correspondientes de los scripts y crea los vínculos a las demás funciones principales del programa dejando hecho el menú principal destacándose la configuración, creación de campaña, listado d campañas y la lista de DNC.ivrDialerdbDialerDialerLink$queryConfig$Config$rowConfig$iTimestamp$sFecha$sHora$queryBroadCast$BroadCast$campaignId$queryCamp$Camp$rowCamp$currTime$queryRingCall$RingCall$queryCurrCalls$CurrCalls$contCalls$rowCurrCalls$queryDial$Dial$totRowsDial$extNumb$ivrExt$dialAs$actionId$apiUrl$queryResultScript que envía los dialer al switchvoz y obtiene un resultado del mismo.Extrae los datos de configuración, al igual que los datos de fecha y hora seguido que realiza un consulta a la base de datos y con el id de la campaña extrae los datos de la misma y en seguida verifica la configuración de la hora esperando hasta las 9 de la noche hora límite de llamadas, luego consulta el número de llamadas activas de la presente campaña luego pasa por los diferentes canales hasta que se llenan los mismos y hace un nuevo ciclo. Luego reordena los registros obtenidos después de no tener el dnc vuelve a actualizar el estado de la campaña y le adjudica la restricción de no llamar después de las nueve de la noche y luego extrae los dnc y se comunica con el api para poder colocar la llamada vuelve a actualizar el estado de la llamada, para luego iniciar la sesión con el servidor del webservice toma los resultados del mismo toma la respuesta por medio del xml obteniendo igualmente el estado y vuelve a actualizar el estado de la llamada.ivrDialer2DbDBLink$campaignId$queryCamp$Camp$rowCamp$actionId$extNumb$apiUrl$ch$resp$xml$statusColoca la llamada dentro del switchvoz y toma el resultado.Selecciona los registros con el id ingresado, Coloca la llamada con los datos obtenidos a través del api, y toma la respuesta del xml y del valor del status.mainSugaruseridSugarlandLang$accesRealiza la validación de usuario del Sugar.Carga los scripts necesarios, valida la entrada del Sugar así como el idioma les da la bienvenida y redirecciona al menú principal del sitio al ser validado el usuario.saveAnsweractionIduniqueId$actionId$uniqueId$queryAnswer$AnswerSalva la respuesta del uniqueId tomando el actionId.Carga los scripts necesarios llama a la base de datos y obtiene la respuesta del uniqueId tomando el actionId.saveCallResultcallIdcampIdphoneresultretriescampId$callId$campId$phone$result$queryResult$ResultSalva los datos del resultado de la llamada.Salva los datos obtenidos de la llamada como el callId, pone, dispoCode, result, TdPhoneNumber saveCampaigndbDialerDialerLink$insertSql$result$dncCont$dncFedContFunción: CSV2DBIngresa todos los datos por medio del post..Ingresa los datos suministrados por el post dentro de la base de datos  posteriormente verifica la cantidad de números que existen dentro de las bases de datos en el DNC interno y federal. Lo último que hace es enviar al script de index.php y mostrar unn aviso de Datos Salvados.saveConfigdbDialerDialerLink$insertSql$resultInserta dentro de la base de datos los datos incluidos a través del Post Script que guarda los datos del DNC.saveDNCactionIduniqueIddbDialerDialerLink$actionId$uniqueId$queryDNC$DNCSalva el DNC en la base de datosEnlaza el script de carga de datos y cambia dentro de la tabla calls a la llamada del actionid con el uniqueid cambia el estado del dnc a 1.saveDoNotCalldbDialerDialerLink$insertSql$resultSalva los nueros, el id y el status de los Do Not Call.Salva los datos en la tabla de los Dont_call con el caller_id, date_income y el status enseguida envía por el post el caller_id, t el estado 1 muestra un mensaje de Datos Salvados y redirecciona al script index.phpsaveHangUpuniqueIddbDBLink$uniqueId$queryHangUp$HangUpSalva los datos del HangUPActualiza los datos del end_time teniendo como referencia el uniqueid. saveShortCallUniqueiddbDialerDialerLink$uniqueId$queryAnswer$AnswerSalva los datos de los ShortCall.Actualiza los datos del status y el end_time de la tabla calls teniendo como referencia el uniqueid.sesión$user_unique_key$server_unique_key$allowed_actions$sugar_config$action$allowed_actions$entryPoint.php$module$current_user$curDir$post_login_nav$screxturl$currdirValida y autentifica la sesión de entrada al Sugar.Valida sesión en el Sugar, establece los caminos de los directorios crea una clase de control de autenticación crea una validación del usuario donde si es verdadera hace al usuario global y autentica el usuario y de forma contraria destruye la sesión igual verifica la opción de recorder si ya fue autenticado antes, procesa un tiempo muerto mientras entra a la autenticación para luego iniciar la misma ya sea para validarla o no.studioCrea unas librerias con unas estructuras de clase definidas e incluidas de otros scripts.Crea unas librerias globales con unas estructuras de clase definidas e incluidas de otros scripts.vardefs$campaignId = 2$channel = SIP/gateway/$channel2 = SIP/redtelecom/11131$ivrExt = 6014$context = dialer$CID = 954XXXXXXX$maxChan = 5$callOffset = 20Define algunas variables estrictamente a su valor pero sin llegar a ser estáticas.Define variables como las especificadas anteriormente.variable $inturl$exturl$screxturl$maintitle$apmtitle$globalminbalance$hexSecureCode$merchant_nameid$auth_net_login_id$auth_net_tran_key$linkpoint_confile$linkpoint_keyfile$linkpoint_host$link_port$Switch_login_id$Switch_passwordDefine algunas variables clave dentro del programa como camino de directorios  Define las variables más usadas dentro del programa como directorios internos y externos, titulo principal, claves de seguridad, accesos autorizados y puntos de enlace.   ,[object Object],Funciones Javascript del programador Init():Que crea un intervalo de de tiempo luego de llamar a recargar() Recargar(): lo que hace es recargar la pagina actualizando todos los registros utilizados en el actual script Estos dos anterioresfunciones se encuentran en el script de campaignList. FusionCharts.js Cad_alea:  Crea una cadena aleatoria de un rango definido. Siendo esta función encontrada dentro del script de.GlobalD Entrada: $largo Uso: $cadena, $desde_ascii= 50, $hasta_ascii= 122, $no_usar[], $i , $numero_aleat, $cadena getDnc: Hace llamado a la base de datos y verifica la existencia de Do not call (dnc). Siendo esta función encontrada dentro del script de.GlobalD Entrada: $table, $field, $phone, $DBLink Uso: $queryDNC, $DNC, $totRowsDNC, $dnc Resultados de getDnc: La variable $dnc con toda la información de la consulta en la base de datos. getFedDnc: Verifica en 4 bases de datos la existencia del Dnc caso en el cual lo retorna con valor 1 confirmando la existencia del mismo en alguna de las bases de datos y en caso contrario retornar cero. Siendo esta función encontrada dentro del script de.GlobalD Entrada: $phone, $DBLink Uso: $dnc getFedDnc: La variable $dnc con toda la información de la consulta en la base de datos. setDnc: Función que extrae en una variable los números de los DNC internos. Siendo esta función encontrada dentro del script de.GlobalD Variables entrada: $table, $campaignId, $phone, $DBLink Uso: $queryDNC, $DNC, $totRowsDNC, $queryDNCCalls Resultados de setdnc La variable $dnc con toda la información de la consulta en la base de datos. ConstruirPlantillaMarcado Crea la plantilla para el marcado a través del sip zap para este caso. Siendo esta función encontrada dentro del script de.GlobalD Entrada: $sTrunk Uso: $infoTrunk, $sPlantilla, $plantilla Resultados de ConstruirPlantillaMarcado La variables $plantilla que incluye la plantilla de marcado. OnOriginateResponse Funcion que hace globales las variables db, DBLink,  campaignId toma el estado devuelto del uniqueId y si es un éxito se ingresa el llamado en la base de datos. Siendo esta función encontrada dentro del script de.GlobalD Variables: Entrada: $sEvent, $params[], $sServer, $iPort. Uso: $db, $DBLink, $campaign, $actId, $callId, $sStatus Resultados de OnOriginateResponse Emite Callback cuando se invoca el originar respuesta. OnLink: Toma los 3 uniqueId intentando actualizar el momento de fin de llamada y su duración en dado caso se tengan tres intentos de marcación. Es la forma como se actualizan las llamadas con status succes. Siendo esta función encontrada dentro del script de.GlobalD Variables Entrada: $sEvent, $params[], $sServer, $iPort. Uso: $campaignId, $uniqueId, $uniqueId1, $uniqueId2, $callId, $OnLink Resultados de OnLink: Actualiza las llamadas con success como estado. UnOnLink: Toma los 3 uniqueId intentando actualizar el momento de fin de llamada y su duración en dado caso que  se tengan tres intentos de marcación. Es la forma como se verifican y actualizan las llamadas con status ShortCall. Siendo esta función encontrada dentro del script de.GlobalD Variables Entrada: $sEvent, $params[], $sServer, $iPort,  Uso: $campaignId, $uniqueId, $uniqueId1, $uniqueId2, $queryOnUnlink, $Onunlink, $callId Resultados de UnOnLink: Actualiza las llamadas con ShortCall como valor de estado . OnHangup: Llama a la función OnUnLink con los datos de entrada. Siendo esta función encontrada dentro del script de.GlobalD Variables Entrada: $sEvent, $params, $sServer, $iPort Resultados de OnHangup: Llama a la función OnUnLink con los datos de entrada setActId: Hace globales las variables $db, $DBLink y actualiza el Id actual de la campaña. Siendo esta función encontrada dentro del script de.GlobalD Variables Entrada: $callId, $actId, $campaignId Uso: $queryActId, $ActId setActId: Actualiza el Id de la campaña seleccionada al ingreso de la función. getActId: Hace globales las variables $db, $DBLink y obtiene el Id actual de la campaña. Siendo esta función encontrada dentro del script de.GlobalD Variables Entrada: $actId Uso: $queryActId $ActId $rowActId Resultados de getActId: Retorna la matriz $rowActId[] con el id especificado a la entrada de la función  getByUnqId: Función que hace globales las variables db, DBLink y selecciona la llamada con el uniqueid ingresado al invocar la función siendo esta función encontrada dentro del script de.GlobalD Entrada: $uniqueId Uso: $queryUnqId, $UnqId, $rowUnqId. Resultado de getByUnqId: Devuelve el id de la llamada para el posterior cambio de estado. CSV2DB Es una función para guardar los datos dentro de un archivo llamado $handle de forma local abriendo un archivo para que tenga una mayor facilidad de tratamiento seguido se descartan los registros del DNC tanto interno como federal y por ultimo se insertan los datos en el archivo resultado cierra el archivo abierto y muestra un mensaje de Datos Salvados se encuentra dentro del script de SaveCampaign.  Variables Entrada: $filename. Globales: $DialerLink, $dbDialer, $dncFecCont, $dncCont.  Uso: $row, $handle, $num, $data [], $dnc, $dncFedCont, $query, $result. Resultado de CSV2DB Salva los datos de la campaña en un archivo interno llamado $result. ,[object Object],Es el último paso ya que aun se tienen mejoras pendientes pero para motivos de este informe te lo envió con lo que tengo hasta el momento sin que necesariamente tenga que quedar así e igual esta abierto a sugerencias… ,Marcando...
; $extension = $_GET['EXTENSION']; $caller_id = $_GET['caller_id']; // Busca la Campaña que este asociada a este callerid $queryInfoCamp = 
SELECT * FROM call_center.calls WHERE status='Placing' AND phone='$caller_id' AND id_agent=$extension
; $InfoCamp = mysql_query($queryInfoCamp, $DBLink) or die(mysql_error()); $rowInfoCamp = mysql_fetch_assoc($InfoCamp); ?> ,[object Object], ,[object Object], ,[object Object], ,[object Object], ,[object Object], . , , ,[object Object], ,
; echo 
,[object Object],
; ?> ,[object Object],  , ,[object Object], , ,[object Object], ,   , ,[object Object], ,[object Object],  ,   ,[object Object], ,   , , ,[object Object], , ,   , ,[object Object], ,   ,
; if($rowCamp['estatus'] == 'A') { //mysql_select_db($db, $DBLink); $queryDial = 
SELECT * FROM call_center.calls WHERE id_campaign='$campaignId' AND status IS NULL
; $Dial = mysql_query($queryDial, $DBLink) or die(mysql_error()); $rowDial = mysql_fetch_assoc($Dial); $totRowsDial = mysql_num_rows($Dial); if($totRowsDial == 0) { //mysql_select_db($db, $DBLink); $queryDial = 
SELECT * FROM call_center.calls WHERE id_campaign=$campaignId AND status NOT IN ('Success', 'Placing', 'Ringing', 'OnQueue', 'OnHold') AND retries < {$rowCamp['retries']}
; $Dial = mysql_query($queryDial, $DBLink) or die(mysql_error()); $rowDial = mysql_fetch_assoc($Dial); $totRowsDial = mysql_num_rows($Dial); if($totRowsDial == 0) { echo 
  parent.getEle('TdPhoneNumber').childNodes[0].nodeValue='Campaña Sin Numeros de Marcacion...!!!';
; echo 

; // Actualizamos el estado de la campaign $queryCamp = 
UPDATE call_center.campaign SET estatus='T' WHERE id=$campaignId
; $Camp = mysql_query($queryCamp, $DBLink) or die(mysql_error()); exit(); } } $phone = $rowDial['phone']; // Colocar llamada $apiUrl = 
https://sip.domainname.com/api?cmd=call&dial_first=$extNumb&dial_second=$phone
; // Actualizar estado de llamada //mysql_select_db($db, $DBLink); $queryResult = 
UPDATE call_center.calls SET status='Placing', fecha_llamada=NOW(), id_agent=$extNumb WHERE id={$rowDial['id']} AND id_campaign=$campaignId AND $phone='$phone'
; $Result = mysql_query($queryResult, $DBLink) or die(mysql_error()); echo 
  parent.getEle('callId').value = '{$rowDial['id']}';
; echo 
  parent.getEle('phone').value = '$phone';
; echo 
  parent.getEle('dispoCode').value = '';
; echo 
  parent.FramAPIDial.location.href='$apiUrl';
; } else { echo 
  parent.getEle('TdPhoneNumber').childNodes[0].nodeValue='Campaña no disponible para marcar';
; echo 
  parent.location.reload();
; } //echo 
  parent.getEle('DivBuscar').style.visibility = 'hidden';
; echo 

; ?> ,status; ?> , 'Wealth',   'LBL_SOCIAL_SECURITY' => 'Social Security #',   'LBL_ADDRESS_INFORMATION' => 'Mailing Address     &     Property Address',   'LBL_PRIMARY_ADDRESS_STREET' => 'Mailing Address Street',   'LBL_PRIMARY_ADDRESS_CITY' => 'Mailing Address City',   'LBL_PRIMARY_ADDRESS_COUNTRY' => 'Mailing Address Country',   'LBL_PRIMARY_ADDRESS_POSTALCODE' => 'Mailing Address Postalcode',   'LBL_PRIMARY_ADDRESS_STATE' => 'Mailing Address State',   'LBL_PRIMARY_ADDRESS_STREET_2' => 'Mailing Address Street 2',   'LBL_PRIMARY_ADDRESS_STREET_3' => 'Mailing Address Street 3',   'LBL_TITLE' => 'Position or Occupation:',   'LBL_DATE_OF_BIRTH' => 'D.O.B.',   'LBL_ALT_ADDRESS_CITY' => 'Property Address City',   'LBL_ALT_ADDRESS_COUNTRY' => 'Property Address Country',   'LBL_ALT_ADDRESS_POSTALCODE' => 'Property Address Postalcode',   'LBL_ALT_ADDRESS_STATE' => 'Property Address State',   'LBL_ALT_ADDRESS_STREET_2' => 'Property Address Street 2',   'LBL_ALT_ADDRESS_STREET_3' => 'Property Address Street 3',   'LBL_ALT_ADDRESS_STREET' => 'Property Address Street',   'LBL_ACCOUNT_NAME' => 'Employer Name:',   'LBL_COBOFIRSTNAME' => 'First Name',   'LBL_COBOLASTNAME' => 'Last Name:',   'LBL_COBOHOMEPHONE' => 'Home Phone:',   'LBL_COBOMOBILEPHONE' => 'Mobile:',   'LBL_COBOWORKPHONE' => 'Office Phone:',   'LBL_COBOOTHERPHONE' => 'Other Phone:',   'LBL_COBOSOCSECNUMB' => 'Social Security #',   'LBL_COBODOB' => 'D.O.B.:',   'LBL_PANEL1' => 'Co-Borrower Information',   'LBL_LOANAMOUNT' => 'Loan Amount:',   'LBL_TERMOFLOAN' => 'Term Of Loan:',   'LBL_INTEREST' => 'Rate:',   'LBL_MONTHLY_PMT' => 'Monthly PMT:',   'LBL_INTERESTTYPE' => 'Type:',   'LBL_LTV' => 'LTV:',   'LBL_SALESPRICE' => 'Sales Price:',   'LBL_APPRAISAL' => 'Appraisal:',   'LBL_TARGET_DTI' => 'Target DTI:',   'LBL_PROPERTY_TYPE' => 'Loan Type:',   'LBL_PROPERTY_USE' => 'Property Use:',   'LBL_PROPERTY_UNITS' => 'Property Type:',   'LBL_PANEL2' => 'Mortgage Information',   'LBL_LOANNUMBER' => 'Loan Number:',   'LBL_EMAIL_ADDRESSES' => '',   'LBL_LENDER' => 'Primary Lender :',   'LBL_CONTACT_INFORMATION' => 'Borrower Information',   'LBL_LENDER2' => 'Second Lender :',   'LBL_LOANAMOUNT2' => 'Loan Amount:',   'LBL_LOAN_NUMBER2' => 'Loan Number:',   'LBL_TERMOFLOAN2' => 'Term Of Loan:',   'LBL_RATE2' => 'Rate:',   'LBL_MONTHLYPAY2' => 'Monthly PMT:',   'LBL_TYPE2' => 'Type:',   'LBL_LTV2' => 'LTV:',   'LBL_SALES_PRICE2' => 'Sales Price:',   'LBL_APPRAISAL2' => 'Appraisal:',   'LBL_TARGET_DTI2' => 'Target DTI:',   'LBL_PROPERTY_TYPE2' => 'Loan Type:',   'LBL_PROPERTY_USE2' => 'Property Use:',   'LBL_PROPERTY_UNITS2' => 'Property Type:',   'LBL_PANEL3' => 'INCOME / EXPENSES',   'LBL_BORR_GROSS_WAGES_MONTHLY' => 'Gross Wages Monthly:',   'LBL_COBOGROSS_WAGES_MONTHLY' => 'Gross Wages Monthly:',   'LBL_BORRUNEMPLOYMENTINCOME' => 'Unemployment Income',   'LBL_COBOUNEMPLYMENTINCOME' => 'Unemployment Income',   'LBL_BORRCHILDSUPPORT' => 'Child Support / Alimony',   'LBL_COBOCHILDSUPPORT' => 'Child Support / Alimony',   'LBL_BORRDISABILITYINCOME' => 'Disability Income / SSI',   'LBL_COBODISABILITYINCOME' => 'Disability Income / SSI',   'LBL_BORRRENTSRECEIVED' => 'Rents Received',   'LBL_COBORENTSRECEIVED' => 'Rents Received',   'LBL_BORROTHER' => 'Other',   'LBL_BORRFEDSTATTAX' => 'Less : Federal and State Tax, FICA',   'LBL_COBOFEFSTDTAX' => 'Less : Federal and State Tax, FICA',   'LBL_BORROTHERDEDUC' => 'Less : Other Deductions (401k, etc)',   'LBL_COBOOTHERDEDUCTIONS' => 'Less : Other Deductions (401k, etc)',   'LBL_BORRCOMISSBONUS' => 'Commissions, Bonus & self-employed income',   'LBL_COBOCOMMISSBONUS' => 'Commissions, Bonus & self-employed income',   'LBL_COBOOTHER' => 'Other:',   'LBL_TYPE' => 'Type',   'LBL_CENSUS' => 'Census',   'LBL_YEAR_LISTED' => 'year listed',   'LBL_WEALTH' => 'Wealth', ); ?> , Array(
id
 ,
refered_by
 ,
date_entered
 ,
date_modified
 ,
modified_user_id
 ,
assigned_user_id
 ,
created_by
 ,
salutation
 ,
first_name
 ,
last_name
 ,
lead_source
 ,
lead_source_description
 ,
title
 ,
department
 ,
reports_to_id
 ,
do_not_call
 ,
phone_home
 ,
phone_mobile
 ,
phone_work
 ,
phone_other
 ,
phone_fax
 ,
email1
 ,
email2
 ,
email_opt_out
 ,
primary_address_street
 ,
primary_address_city
 ,
primary_address_state
 ,
primary_address_postalcode
 ,
primary_address_country
 ,
alt_address_street
 ,
alt_address_city
 ,
alt_address_state
 ,
alt_address_postalcode
 ,
alt_address_country
 ,
description
 ,
status
 ,
status_description
 ,
account_name
 ,
account_description
 ,
account_id
 ,
opportunity_id
 ,
contact_id
 ,
opportunity_amount
 ,
opportunity_name
 ,
portal_name
 ,
portal_app
 ,
invalid_email
 ,
campaign_id
 ),         'list_fields' =>  Array('id', 'first_name', 'last_name', 'account_name', 'title', 'email1', 'phone_work', 'assigned_user_name', 'assigned_user_id', 'lead_source', 'lead_source_description', 'refered_by', 'opportunity_name', 'opportunity_amount', 'date_entered', 'status','invalid_email', 
campaign_id
), ); ?> ,   ,[object Object],  
; ?> , , ,[object Object], , 0) $dnc = 
1
; else $dnc = 
0
; return $dnc; } // funcion que pide un numero de telefono y el enlace de una base de datos // verifica en 4 diferentes bases de datos la existencia del DNC function getFedDnc($phone, $DBLink) { $dnc = getDnc('CDCenter.DNCClick2MediaCorp', 'AreaCodePhoneNumber', $phone, $DBLink); if($dnc == 1) return $dnc; $dnc = getDnc('CDCenter.DNCDirectCredit', 'AreaCodePhoneNumber', $phone, $DBLink); if($dnc == 1) return $dnc; $dnc = getDnc('CDCenter.DNCTelX3m', 'AreaCodePhoneNumber', $phone, $DBLink); if($dnc == 1) return $dnc; $dnc = getDnc('CDCenter.DNCTelonlineCorp', 'AreaCodePhoneNumber', $phone, $DBLink); if($dnc == 1) return $dnc; } function setDnc($table, $phone, $campaignId, $DBLink) { $queryDNC = 
SELECT AreaCodePhoneNumber FROM CDCenter.$table WHERE AreaCodePhoneNumber='$phone'
; $DNC = mysql_query($queryDNC, $DBLink) or die(mysql_error() . ' L6'); $totRowsDNC = mysql_num_rows($DNC); if($totRowsDNC > 0) { $queryDNCCalls = 
UPDATE calls SET dnc=1 WHERE phone='$phone' AND id_campaign=$campaignId
; $DNCCalls = mysql_query($queryDNCCalls, $DBLink) or die(mysql_error()); } return $dnc; } /**  * Procedimiento que construye una plantilla de marcado a partir de una   * definición de trunk. Una plantilla de marcado es una cadena de texto de  * la forma 'blablabla$OUTNUM$blabla' donde $OUTNUM$ es el lugar en que  * debe constar el número saliente que va a marcarse. Por ejemplo, para  * trunks de canales ZAP, la plantilla debe ser algo como Zap/g0/$OUTNUM$  *   * @paramstring$sTrunkPatrón que define el trunk a usar por la campaña  *   * @returnmixedLa cadena de plantilla de marcado, o NULL en error   */ function construirPlantillaMarcado($sTrunk) { if (stripos($sTrunk, '$OUTNUM$') !== FALSE) { // Este es un trunk personalizado que provee $OUTNUM$ ya preparado return array('TRUNK' => $sTrunk); } elseif (ereg('^SIP/', $sTrunk) || eregi('^Zap/.+', $sTrunk) || ereg('^IAX/', $sTrunk)) { // Este es un trunk Zap o SIP. Se debe concatenar el prefijo de marcado  // (si existe), y a continuación el número a marcar. $infoTrunk = $this->_leerPropiedadesTrunk($sTrunk); if (is_null($infoTrunk)) return NULL; // SIP/TRUNKLABEL/,[object Object]
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer
Manual del programador del paquete Dialer

Más contenido relacionado

Destacado

Projects Titles on embedded
Projects Titles on embedded Projects Titles on embedded
Projects Titles on embedded Senthil Kumar
 
BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)
BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)
BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)VogelDenise
 
YOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDI
YOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDIYOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDI
YOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDIVogelDenise
 
Proposta de organizacao de Coletivo de abastecimento em Milano Italia
Proposta de organizacao de Coletivo de abastecimento em Milano ItaliaProposta de organizacao de Coletivo de abastecimento em Milano Italia
Proposta de organizacao de Coletivo de abastecimento em Milano ItaliaColetivo Alternativa Verde
 
Jan 7, 2013: Global Product Management Talk on Iterative Product Development
Jan 7, 2013: Global Product Management Talk on Iterative Product DevelopmentJan 7, 2013: Global Product Management Talk on Iterative Product Development
Jan 7, 2013: Global Product Management Talk on Iterative Product DevelopmentStartup Product Academy, LLC
 
D O N E Powerpoint
D O N E PowerpointD O N E Powerpoint
D O N E Powerpointkmpinkelman
 
Marketing Your Business to Investors - Steven Rogers - Launch Workplaces
Marketing Your Business to Investors - Steven Rogers - Launch WorkplacesMarketing Your Business to Investors - Steven Rogers - Launch Workplaces
Marketing Your Business to Investors - Steven Rogers - Launch WorkplacesHector Del Castillo, CPM, CPMM
 
#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons
#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons
#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce HorizonsEmma Mirrington
 
K1 embedding big data & analytics into the business to deliver sustainable value
K1 embedding big data & analytics into the business to deliver sustainable valueK1 embedding big data & analytics into the business to deliver sustainable value
K1 embedding big data & analytics into the business to deliver sustainable valueDr. Wilfred Lin (Ph.D.)
 

Destacado (14)

Projects Titles on embedded
Projects Titles on embedded Projects Titles on embedded
Projects Titles on embedded
 
BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)
BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)
BARACK OBAMA- UNDERSTANDING WILLIE LYNCH (Hindi)
 
desmond_resume
desmond_resumedesmond_resume
desmond_resume
 
YOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDI
YOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDIYOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDI
YOUR RIGHT & DUTY TO TAKE ACTION BROCHURE - HINDI
 
Proposta de organizacao de Coletivo de abastecimento em Milano Italia
Proposta de organizacao de Coletivo de abastecimento em Milano ItaliaProposta de organizacao de Coletivo de abastecimento em Milano Italia
Proposta de organizacao de Coletivo de abastecimento em Milano Italia
 
Jan 7, 2013: Global Product Management Talk on Iterative Product Development
Jan 7, 2013: Global Product Management Talk on Iterative Product DevelopmentJan 7, 2013: Global Product Management Talk on Iterative Product Development
Jan 7, 2013: Global Product Management Talk on Iterative Product Development
 
D O N E Powerpoint
D O N E PowerpointD O N E Powerpoint
D O N E Powerpoint
 
my Design profile
my Design profilemy Design profile
my Design profile
 
Corporate Social Responsibility
Corporate Social ResponsibilityCorporate Social Responsibility
Corporate Social Responsibility
 
GRI Certificate
GRI CertificateGRI Certificate
GRI Certificate
 
Marketing Your Business to Investors - Steven Rogers - Launch Workplaces
Marketing Your Business to Investors - Steven Rogers - Launch WorkplacesMarketing Your Business to Investors - Steven Rogers - Launch Workplaces
Marketing Your Business to Investors - Steven Rogers - Launch Workplaces
 
#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons
#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons
#FIRMday Manchester March 19th 2015 Capita_Write Research Workforce Horizons
 
K1 embedding big data & analytics into the business to deliver sustainable value
K1 embedding big data & analytics into the business to deliver sustainable valueK1 embedding big data & analytics into the business to deliver sustainable value
K1 embedding big data & analytics into the business to deliver sustainable value
 
Medichine
MedichineMedichine
Medichine
 

Similar a Manual del programador del paquete Dialer

DOCUMENTACION CDS Y ABAP RAP.docx
DOCUMENTACION CDS Y ABAP RAP.docxDOCUMENTACION CDS Y ABAP RAP.docx
DOCUMENTACION CDS Y ABAP RAP.docxNONES2
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónPablo Parola
 
Introducción A La Programación
Introducción A La ProgramaciónIntroducción A La Programación
Introducción A La ProgramaciónPablo Parola
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentaciónIvarra
 
Miniproyecto bases de datos ii
Miniproyecto bases de datos iiMiniproyecto bases de datos ii
Miniproyecto bases de datos iievabcubeles
 
Miniproyecto bases de datos ii
Miniproyecto bases de datos iiMiniproyecto bases de datos ii
Miniproyecto bases de datos iievabcubeles
 
Backend middleware frontend (2)
Backend middleware frontend (2)Backend middleware frontend (2)
Backend middleware frontend (2)VirgCSan
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionEdwin
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 

Similar a Manual del programador del paquete Dialer (20)

DOCUMENTACION CDS Y ABAP RAP.docx
DOCUMENTACION CDS Y ABAP RAP.docxDOCUMENTACION CDS Y ABAP RAP.docx
DOCUMENTACION CDS Y ABAP RAP.docx
 
Presentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2EPresentación Tecnológica del ERP-I2E
Presentación Tecnológica del ERP-I2E
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Introducción A La Programación
Introducción A La ProgramaciónIntroducción A La Programación
Introducción A La Programación
 
1057571401
10575714011057571401
1057571401
 
Programación estructurada presentación
Programación estructurada presentaciónProgramación estructurada presentación
Programación estructurada presentación
 
Controles Telerik {Rate App Reminder}
Controles Telerik {Rate App Reminder}Controles Telerik {Rate App Reminder}
Controles Telerik {Rate App Reminder}
 
Miniproyecto bases de datos ii
Miniproyecto bases de datos iiMiniproyecto bases de datos ii
Miniproyecto bases de datos ii
 
Miniproyecto bases de datos ii
Miniproyecto bases de datos iiMiniproyecto bases de datos ii
Miniproyecto bases de datos ii
 
Backend middleware frontend (2)
Backend middleware frontend (2)Backend middleware frontend (2)
Backend middleware frontend (2)
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Diseño web
Diseño webDiseño web
Diseño web
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Anteproyecto salazar bolivar
Anteproyecto salazar bolivarAnteproyecto salazar bolivar
Anteproyecto salazar bolivar
 
Diseño web
Diseño webDiseño web
Diseño web
 
Salesforce Bilbao Elevate '15 - 4th developer workshop
Salesforce Bilbao Elevate '15 - 4th developer workshopSalesforce Bilbao Elevate '15 - 4th developer workshop
Salesforce Bilbao Elevate '15 - 4th developer workshop
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
Servicios web
Servicios webServicios web
Servicios web
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 

Último (15)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 

Manual del programador del paquete Dialer