Find Jobs
Hire Freelancers

Urgent - Modify Asterisk IVR/Query - Simple

$30-100 USD

İptal edildi
İlan edilme: yaklaşık 17 yıl önce

$30-100 USD

Teslimde ödenir
I need to have someone modify the following IVR so that it does the following. This is an urgent request as we need to have this working tomorrow and the developer that did it hasn't responded to resolve this, even though he said he would. I just about had it done myself, but don't have the time. Here are the 2 things that need to be changed. There is a field in the pr_sites table now called GMT, this holds the + or – GMT time for each location. the systems time is -8 GMT. Need to calculate the local time of the site and modify the Set-Time-Arrive and Set-time-departure query’s to enter the local time using the GMT field. Neet to modify the set-the-comment to go to the pr_comments table, which will require setting the following fields: id_site, author_type = 'provider', author_id=tech_id, date_time = Local Date and Time, content=url Here is the current IVR script [ivr-arrive-tech] exten => s,1,Answer() exten => s,n,Set(TIMEOUT(digit)=3) exten => s,n(WELCOME),Background(ivr-tech/thankyou-for-calling) exten => s,n,Set(tech_id_try=0) exten => s,n(TECH_ID),Set(STEP=TECH_ID) exten => s,n,Set(NEXT_STEP=TECH_NAME) exten => s,n,GotoIf($[${tech_id_try} < 3]?:call-ring-group,s,1) exten => s,n,Set(tech_id_try=$[${tech_id_try} + 1] exten => s,n,BackGround(ivr-tech/please-enter-tech-id) exten => s,n,Read(TECH_ID) exten => s,n,GotoIf($["a${TECH_ID}" = "a"]?s,TECH_ID:${TECH_ID},1) exten => s,n(TECH_NAME),GoSub(tech-name,s,1) exten => s,n,Set(project_id_try=0) exten => s,n(PROJECT_ID),Set(STEP=PROJECT_ID) exten => s,n,Set(NEXT_STEP=PROJECT_NAME) exten => s,n,GotoIf($[${project_id_try} < 3]?:call-ring-group,s,1) exten => s,n,Set(project_id_try=$[${project_id_try} + 1] exten => s,n,BackGround(ivr-tech/please-enter-project-id) exten => s,n,Read(PROJECT_ID) exten => s,n,GotoIf($["a${PROJECT_ID}" = "a"]?s,PROJECT_ID:${PROJECT_ID},1) exten => s,n(PROJECT_NAME),GoSub(project-name,s,1) exten => s,n,Set(store_num_try=0) exten => s,n(STORE_NUM),Set(STEP=STORE_NUM) exten => s,n,Set(NEXT_STEP=STORE_NAME) exten => s,n,GotoIf($[${store_num_try} < 3]?:call-ring-group,s,1) exten => s,n,Set(store_num_try=$[${store_num_try} + 1] exten => s,n,BackGround(ivr-tech/please-enter-the-store-number) exten => s,n,Read(STORE_NUM) exten => s,n,GotoIf($["a${STORE_NUM}" = "a"]?s,STORE_NUM:${STORE_NUM},1) exten => s,n(STORE_NAME),GoSub(store-name,s,1) exten => s,n,Goto(time-recording,s,1) exten => _X,1,Set(ENTER=${LEN(${EXTEN})}) exten => _X,n,GotoIf($["${EXTEN:$[${${LEN(${EXTEN})}} - 1]:${LEN(EXTEN)}}" = "#"]?${EXTEN:0:$[${ENTER} - 1]},1) exten => _X,n,Set(ENTER_${STEP}=${EXTEN}) exten => _X,n,Goto(s,${NEXT_STEP}) exten => _X.,1,Set(ENTER=${LEN(${EXTEN})}) exten => _X.,n,GotoIf($["${EXTEN:$[${${LEN(${EXTEN})}} - 1]:${LEN(EXTEN)}}" = "#"]?${EXTEN:0:$[${ENTER} - 1]},1) exten => _X.,n,Set(ENTER_${STEP}=${EXTEN}) exten => _X.,n,Goto(s,${NEXT_STEP}) exten => i,1,Playback(ivr-tech/invalid-option) exten => i,n,Goto(s,${STEP}) [tech-name] exten => s,1,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=select firstname, secondname from provider where id='${ENTER_TECH_ID}' limit 1) exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} TECH_FIRST_NAME TECH_LAST_NAME) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,Noop(${MYSQL_STATUS}) exten => s,n,GotoIf($["${fetchid}" = "0"]?wrong,1) exten => s,n,Noop("Fecth id = ${fetchid}") exten => s,n,Noop("Tech name = ${TECH_FIRST_NAME} ${TECH_LAST_NAME}") exten => s,n,Set(FILE_NAME=${ENTER_TECH_ID}_${STRFTIME(${EPOCH},+2,%H_%M_%S-%G_%m_%d)}) exten => s,n,System(echo "${TECH_FIRST_NAME} ${TECH_LAST_NAME}"|text2wave -o /tmp/${FILE_NAME}.ulaw -otype ulaw -) exten => s,n,Background(ivr-tech/you-are) exten => s,n,Background(/tmp/${FILE_NAME}) exten => s,n,System(rm /tmp/${FILE_NAME}.ulaw) exten => s,n,Set(tech_name_try=0) exten => s,n(confirmation),GotoIf($[${tech_name_try} < 2]?:call-ring-group,s,1) exten => s,n,Set(tech_name_try=$[${tech_name_try} + 1] exten => s,n,Background(ivr-tech/press-1-to-confirm-or-2-to-enter-again) exten => s,n,WaitExten() exten => 1,1,Noop("Tech name is OK) exten => 1,n,Return() exten => 2,1,Noop("Tech name is WRONG") exten => 2,n,Goto(ivr-arrive-tech,s,TECH_ID) exten => i,1,Playback(ivr-tech/invalid-option) exten => i,n,Goto(s,confirmation) exten => t,1,Goto(s,confirmation) exten => wrong,1,Playback(ivr-tech/you-have-entered-a-wrong-tech-id) exten => wrong,n,Goto(ivr-arrive-tech,s,TECH_ID) exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) [project-name] exten => s,1,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Noop(${MYSQL_STATUS}) exten => s,n,Set(QUERY=select title from projects where id='${ENTER_PROJECT_ID}' limit 1) exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} PROJECT_NAME) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,Noop(${MYSQL_STATUS}) exten => s,n,GotoIf($["${fetchid}" = "0"]?wrong,1) exten => s,n,Noop("Project name = ${PROJECT_NAME}") exten => s,n,System(echo "${PROJECT_NAME} "|text2wave -o /tmp/${FILE_NAME}.ulaw -otype ulaw -) exten => s,n,Background(ivr-tech/project-name-is) exten => s,n,Background(/tmp/${FILE_NAME}) exten => s,n,System(rm /tmp/${FILE_NAME}.ulaw) exten => s,n,Set(project_name_try=0) exten => s,n(confirmation),GotoIf($[${project_name_try} < 2]?:call-ring-group,s,1) exten => s,n,Set(project_name_try=$[${project_name_try} + 1] exten => s,n,Background(ivr-tech/press-1-to-confirm-or-2-to-enter-again) exten => s,n,WaitExten() exten => 1,1,Noop("Project name is OK) exten => 1,n,Return() exten => 2,1,Noop("Project name is WRONG") exten => 2,n,Goto(ivr-arrive-tech,s,PROJECT_ID) exten => i,1,Playback(ivr-tech/invalid-option) exten => i,n,Goto(s,confirmation) exten => wrong,1,Playback(ivr-tech/you-have-entered-a-wrong-project-id) exten => wrong,n,Goto(ivr-arrive-tech,s,PROJECT_ID) exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) [store-name] exten => s,1,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=select id, street_address from pr_sites where id_project='${ENTER_PROJECT_ID}' and store_number='${ENTER_STORE_NUM}' and technician='${ENTER_TECH_ID}' limit 1) exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} STORE_ID STORE_ADDRESS) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,GotoIf($["${fetchid}" = "0"]?wrong,1) exten => s,n,Noop("Store address = ${STORE_ADDRESS}") exten => s,n,System(echo "${STORE_ADDRESS} "|text2wave -o /tmp/${FILE_NAME}.ulaw -otype ulaw -) exten => s,n,Background(ivr-tech/store-address-is) exten => s,n,Background(/tmp/${FILE_NAME}) exten => s,n,System(rm /tmp/${FILE_NAME}.ulaw) exten => s,n,Set(store_name_try=0) exten => s,n(confirmation),GotoIf($[${store_name_try} < 2]?:call-ring-group,s,1) exten => s,n,Set(store_name_try=$[${store_name_try} + 1] exten => s,n,Background(ivr-tech/press-1-to-confirm-or-2-to-enter-again) exten => s,n,WaitExten() exten => 1,1,Noop("Store name is OK) exten => 1,n,Return() exten => 2,1,Noop("Store name is WRONG") exten => 2,n,Goto(ivr-arrive-tech,s,STORE_ID) exten => i,1,Playback(ivr-tech/invalid-option) exten => i,n,Goto(s,confirmation) exten => t,1,Goto(s,confirmation) exten => wrong,1,Playback(ivr-tech/you-have-entered-a-wrong-store-number) exten => wrong,n,Goto(ivr-arrive-tech,s,STORE_NUM) exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) [time-recording] exten => s,1,Set(TIME=${STRFTIME(${EPOCH},+2,%H:%M:%S)}) exten => s,n,Set(DATE=${STRFTIME(${EPOCH},+2,%G-%m-%d)}) exten => s,n,Set(DAY=${STRFTIME(${EPOCH},+2,%d)}) exten => s,n,Set(DATE_PREV=${STRFTIME(${EPOCH},+2,%G-%m-)}$[${DAY} - 1]) exten => s,n,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=select actual_start, actual_stop, comment from pr_sites_workdays where id_site='${STORE_ID}' and date='${DATE}' limit 1) exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} ACTUAL_START ACTUAL_STOP COMMENT) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,GotoIf($["${fetchid}" = "1"]?check1,1) exten => s,n,Set(DAY=${STRFTIME(${EPOCH},+2,%d)}) exten => s,n,Set(DATE=${STRFTIME(${EPOCH},+2,%G-%m-)}$[${DAY} - 1]) exten => s,n,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=select actual_start, actual_stop, comment from pr_sites_workdays where id_site='${STORE_ID}' and date='${DATE}' limit 1) exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} ACTUAL_START ACTUAL_STOP COMMENT) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,GotoIf($["${fetchid}" = "0"]?wrong,1) exten => s,n,GotoIf($["${ACTUAL_START}" = "00:00:00"]?wrong,1) exten => s,n,GotoIf($["${ACTUAL_STOP}" = "00:00:00"]?s,departure) exten => s,n,GotoIf($["${COMMENT}" = "None"]?s,comment) exten => s,n,Goto(wrong,1) exten => s,n(check1),GotoIf($["${ACTUAL_START}" = "00:00:00"]?s,arrive) exten => s,n(check2),GotoIf($["${ACTUAL_STOP}" = "00:00:00"]?s,departure) exten => s,n(check2),GotoIf($["${COMMENT}" = "None"]?s,comment) exten => s,n(check3),Goto(wrong,1) exten => s,n(arrive),Background(ivr-tech/press-one-to-record-arrival-time) exten => s,n,Goto(s,read) exten => s,n(departure),Background(ivr-tech/press-two-to-record-departure-time) exten => s,n(comment),Background(ivr-tech/press-three-to-record-a-comment) exten => s,n(read),WaitExten() exten => 1,1,Noop("Record the arrival time") exten => 1,n,Goto(set-time-arrive,s,1) exten => 2,1,Noop("Record the daparture time") exten => 2,n,Goto(set-time-departure,s,1) exten => 3,1,Noop("Record the commnent about the site") exten => 3,n,Goto(set-the-comment,s,1) exten => i,1,Playback(ivr-tech/invalid-option) exten => i,n,Goto(s,check1) exten => t,1,Goto(s,check1) exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) exten => wrong,1,Playback(ivr-tech/wrong-data-please-wait-while-connecting-to-operator) exten => wrong,n,Goto(call-ring-group,s,1) [set-time-arrive] exten => s,1,Noop("Record the arrival time") exten => s,n,GotoIf($["${DATE}" = "${DATE_PREV}"]?wrong,1) exten => s,n,GotoIf($["${actual_start}" = "00:00:00"]?:wrong,1) exten => s,n,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=update pr_sites_workdays set actual_start='${TIME}' where id_site='${STORE_ID}' and date='${DATE}') exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,Set(QUERY=select actual_start from pr_sites_workdays where id_site='${STORE_ID}' and date='${DATE}') exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} MYSQL_TIME) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,GotoIf($["${MYSQL_TIME}" = "${TIME}"]?:mysql_error,1) exten => s,n,Playback(ivr-tech/arrive-time-is-saved) exten => s,n,Playback(ivr-tech/goodbye) exten => s,n,Hangup() exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) exten => wrong,1,Playback(ivr-tech/wrong-data-please-wait-while-connecting-to-operator) exten => wrong,n,Goto(call-ring-group,s,1) [set-time-departure] exten => s,1,Noop("Record the arrival time") exten => s,n,GotoIf($["${actual_stop}" = "00:00:00"]?:wrong,1) exten => s,n,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=update pr_sites_workdays set actual_stop='${TIME}' where id_site='${STORE_ID}' and date='${DATE}') exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,Set(QUERY=select actual_stop from pr_sites_workdays where id_site='${STORE_ID}' and date='${DATE}') exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Fetch fetchid ${resultid} MYSQL_TIME) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,GotoIf($["${MYSQL_TIME}" = "${TIME}"]?:mysql_error,1) exten => s,n,Playback(ivr-tech/departure-time-is-saved) exten => s,n,Goto(time-recording,s,comment) exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) exten => wrong,1,Playback(ivr-tech/wrong-data-please-wait-while-connecting-to-operator) exten => wrong,n,Goto(call-ring-group,s,1) [set-the-comment] exten => s,1,Noop("Record the comment") exten => s,n,Record(/var/www/html/comments/${FILE_NAME}.wav) exten => s,n,MySQL(Connect connid ${DBHOST} ${DBUSER} ${DBPASS} ${DB}) exten => s,n,GotoIf($["${MYSQL_STATUS}" = "0"]?:mysql_error,1) exten => s,n,Set(QUERY=update pr_sites_workdays set comment='${COMMENT_LINK}/${FILE_NAME}.wav' where id_site='${STORE_ID}' and date='${DATE}') exten => s,n,MYSQL(Query resultid ${connid} ${QUERY}) exten => s,n,MYSQL(Clear ${resultid}) exten => s,n,MYSQL(Disconnect ${connid}) exten => s,n,Playback(ivr-tech/the-comment-is-saved) exten => s,n,Playback(ivr-tech/goodbye) exten => s,n,Hangup() exten => mysql_error,1,Playback(ivr-tech/an-error-has-occured-connecting-to-operator) exten => mysql_error,n,Goto(call-ring-group,s,1) [call-ring-group] exten => s,1,Noop("Dialing ring group") exten => s,n,Goto(ext-group,${RING_GROUP},1)
Proje No: 142279

Proje hakkında

2 teklif
Uzaktan proje
Son aktiviteden bu yana geçen zaman 17 yıl önce

Biraz para mı kazanmak istiyorsunuz?

Freelancer'da teklif vermenin faydaları

Bütçenizi ve zaman çerçevenizi belirleyin
Çalışmanız için ödeme alın
Teklifinizin ana hatlarını belirleyin
Kaydolmak ve işlere teklif vermek ücretsizdir
2 freelancer bu proje için ortalama $75 USD teklif veriyor
Kullanıcı Avatarı
Hello sir, Please check your PM.
$50 USD 1 gün içinde
0,0 (0 değerlendirme)
0,0
0,0
Kullanıcı Avatarı
We need more details, and we promise to do our best to fix this, because it is not writen by use and we need to revise and check the hole code from A to Z. But we can give it a try for you. Please reply us if you would like our assitance.
$100 USD 1 gün içinde
0,0 (0 değerlendirme)
0,0
0,0

Müşteri hakkında

   UNITED STATES bayrağı
Aloha, United States
5,0
8
Mar 30, 2007 tarihinden bu yana üye

Müşteri Doğrulaması

Teşekkürler! Ücretsiz kredinizi talep etmeniz için size bir bağlantı gönderdik.
E-postanız gönderilirken bir şeyler yanlış gitti. Lütfen tekrar deneyin.
Kayıtlı Kullanıcı İlan Edlien Toplam İş
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Ön izleme yükleniyor
Coğrafik konum için izin verildi.
Giriş oturumunuzun süresi doldu ve çıkış yaptınız. Lütfen tekrar giriş yapın.