Μετά από ερώτημα του μέλους stelakis1914 στο thread FreePBX + dongle και λίγο Google, έχουμε αυτήν την δυνατότητα. Δηλαδή όταν καλούμε έναν αριθμό και είναι στο asterisk phonebook μπορεί να εμφανίζετε το όνομα του στη οθόνη του τηλεφώνου μας αντί για το CID:Αριθμός.
Για να «ρυθμίσουμε» τον asterisk έτσι ώστε να μα εμφανίζει το όνομα θα πρέπει να παρακάμψουμε την φυσιολογική συμπεριφορά του freepbx κατά τις εξερχόμενες κλήσεις. Αυτό γίνετε βάζοντας αντίγραφα δυο μακρό-εντολών στο αρχείο /etc/asterisk/extensions_override_freepbx.conf. Κατά 99% αυτό το αρχείο πρέπει να είναι άδειο. Οι προχωρημένοι χρήστες του asterisk ή όσοι έχουν εγκαταστήσει το fop2 θα έχουν κάτι σε αυτό το αρχείο.
Ο κώδικας που πρέπει να μπει σε αυτό το αρχείο είναι ο παρακάτω.
Για asterisk 11
Spoiler:Κώδικας:[macro-dialout-trunk] exten => s,1,Set(DIAL_TRUNK=${ARG1}) exten => s,n,AGI(trunkbalance.php,${ARG1},${ARG2}) exten => s,n,GosubIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]?sub-pincheck,s,1()) exten => s,n,GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk,1) exten => s,n,Set(DIAL_NUMBER=${ARG2}) exten => s,n,Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS}) exten => s,n,Set(OUTBOUND_GROUP=OUT_${DIAL_TRUNK}) exten => s,n,GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax) exten => s,n,GotoIf($[ ${GROUP_COUNT(OUT_${DIAL_TRUNK})} >= ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull) exten => s,n(nomax),GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid) exten => s,n,Set(DIAL_TRUNK_OPTIONS=${IF($["${DB_EXISTS(TRUNK/${DIAL_TRUNK}/dialopts)}" = "1"]?${DB_RESULT}:${TRUNK_OPTIONS})}) exten => s,n,Macro(outbound-callerid,${DIAL_TRUNK}) exten => s,n(skipoutcid),GosubIf($["${PREFIX_TRUNK_${DIAL_TRUNK}}" != ""]?sub-flp-${DIAL_TRUNK},s,1()) exten => s,n,Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER}) exten => s,n,Set(custom=${CUT(OUT_${DIAL_TRUNK},:,1)}) exten => s,n,ExecIf($["${MOHCLASS}"!="default" & "${MOHCLASS}"!="" & "${FORCE_CONFIRM}"="" ]?Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS})) exten => s,n,ExecIf($["${FORCE_CONFIRM}"!="" ]?Set(DIAL_TRUNK_OPTIONS=${DIAL_TRUNK_OPTIONS}M(confirm))) exten => s,n(gocall),Macro(dialout-trunk-predial-hook,) exten => s,n,GotoIf($["${PREDIAL_HOOK_RET}" = "BYPASS"]?bypass,1) exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(num,i)=${DIAL_NUMBER})) exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(name,i)=CID:${CALLERID(number)})) ; -------- custom code starts here exten => s,n,ExecIf($["${DB(cidname/${DIAL_NUMBER:-10})}" != ""]?Set(CONNECTEDLINE(name,i)=${DB(cidname/${DIAL_NUMBER:-10})})) ; -------- custom code ends here exten => s,n,GotoIf($["${custom}" = "AMP"]?customtrunk) exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM}${OUT_${DIAL_TRUNK}_SUFFIX},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS}) exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}) exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1) exten => s,n(customtrunk),Set(pre_num=${CUT(OUT_${DIAL_TRUNK},$,1)}) exten => s,n,Set(the_num=${CUT(OUT_${DIAL_TRUNK},$,2)}) exten => s,n,Set(post_num=${CUT(OUT_${DIAL_TRUNK},$,3)}) exten => s,n,GotoIf($["${the_num}" = "OUTNUM"]?outnum:skipoutnum) exten => s,n(outnum),Set(the_num=${OUTNUM}) exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS}) exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}) exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1) exten => s,n(chanfull),Noop(max channels used up) exten => s-BUSY,1,Noop(Dial failed due to trunk reporting BUSY - giving up) exten => s-BUSY,n,Playtones(busy) exten => s-BUSY,n,Busy(20) exten => s-ANSWER,1,Noop(Call successfully answered - Hanging up now) exten => s-ANSWER,n,Macro(hangupcall,) exten => s-NOANSWER,1,Noop(Dial failed due to trunk reporting NOANSWER - giving up) exten => s-NOANSWER,n,Progress exten => s-NOANSWER,n,Playback(number-not-answering,noanswer) exten => s-NOANSWER,n,Congestion(20) exten => s-INVALIDNMBR,1,Noop(Dial failed due to trunk reporting Address Incomplete - giving up) exten => s-INVALIDNMBR,n,Progress exten => s-INVALIDNMBR,n,Playback(ss-noservice,noanswer) exten => s-INVALIDNMBR,n,Busy(20) exten => s-CHANGED,1,Noop(Dial failed due to trunk reporting Number Changed - giving up) exten => s-CHANGED,n,Playtones(busy) exten => s-CHANGED,n,Busy(20) exten => _s-.,1,Set(RC=${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})}) exten => _s-.,n,Goto(${RC},1) exten => 17,1,Goto(s-BUSY,1) exten => 18,1,Goto(s-NOANSWER,1) exten => 22,1,Goto(s-CHANGED,1) exten => 23,1,Goto(s-CHANGED,1) exten => 1,1,Goto(s-INVALIDNMBR,1) exten => 28,1,Goto(s-INVALIDNMBR,1) exten => _X,1,Goto(continue,1) exten => _X.,1,Goto(continue,1) exten => continue,1(noreport),Noop(TRUNK Dial failed due to ${DIALSTATUS} HANGUPCAUSE: ${HANGUPCAUSE} - failing through to other trunks) exten => continue,n,Set(CALLERID(number)=${AMPUSER}) exten => disabletrunk,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} DISABLED - falling through to next trunk) exten => bypass,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} BYPASSING because dialout-trunk-predial-hook) exten => h,1,Macro(hangupcall,) ;--== end of [macro-dialout-trunk] ==--; [macro-outbound-callerid] exten => s,1,ExecIf($["${CALLINGPRES_SV}" != ""]?Set(CALLERPRES()=${CALLINGPRES_SV})) exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)})) ; -------------- custom code starts here exten => s,n,ExecIf($["${DB(cidname/${DIAL_NUMBER:-10})}" != ""]?Set(CDR(userfield)=${DB(cidname/${DIAL_NUMBER:-10})})) ; -------------- custom code ends here exten => s,n(start),GotoIf($[ $["${REALCALLERIDNUM}" = ""] | $["${KEEPCID}" != "TRUE"] | $["${OUTKEEPCID_${ARG1}}" = "on"] ]?normcid) exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM}) exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass) exten => s,n(normcid),Set(USEROUTCID=${DB(AMPUSER/${AMPUSER}/outboundcid)}) exten => s,n(bypass),Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)}) exten => s,n,Set(TRUNKOUTCID=${OUTCID_${ARG1}}) exten => s,n,GotoIf($["${EMERGENCYROUTE:1:2}" = "" | "${EMERGENCYCID:1:2}" = ""]?trunkcid) exten => s,n,Set(CALLERID(all)=${EMERGENCYCID}) exten => s,n,Set(CDR(outbound_cnum)=${CALLERID(num)}) exten => s,n,Set(CDR(outbound_cnam)=${CALLERID(name)}) exten => s,n(exit),MacroExit() exten => s,n(trunkcid),ExecIf($[${LEN(${TRUNKOUTCID})} != 0]?Set(CALLERID(all)=${TRUNKOUTCID})) exten => s,n(usercid),ExecIf($[${LEN(${USEROUTCID})} != 0]?Set(CALLERID(all)=${USEROUTCID})) exten => s,n,ExecIf($[${LEN(${TRUNKCIDOVERRIDE})} != 0 | ${LEN(${FORCEDOUTCID_${ARG1}})} != 0]?Set(CALLERID(all)=${IF($[${LEN(${FORCEDOUTCID_${ARG1}})}=0]?${TRUNKCIDOVERRIDE}:${FORCEDOUTCID_${ARG1}})})) exten => s,n(hidecid),ExecIf($["${CALLERID(name)}"="hidden"]?Set(CALLERPRES()=prohib_passed_screen)) exten => s,n,Set(CDR(outbound_cnum)=${CALLERID(num)}) exten => s,n,Set(CDR(outbound_cnam)=${CALLERID(name)}) ;--== end of [macro-outbound-callerid] ==--;
Για asterisk 13*
Spoiler:Κώδικας:[macro-dialout-trunk] include => macro-dialout-trunk-custom exten => s,1,Set(DIAL_TRUNK=${ARG1}) exten => s,n,GosubIf($[$["${ARG3}" != ""] & $["${DB(AMPUSER/${AMPUSER}/pinless)}" != "NOPASSWD"]]?sub-pincheck,s,1()) exten => s,n,GotoIf($["x${OUTDISABLE_${DIAL_TRUNK}}" = "xon"]?disabletrunk,1) exten => s,n,Set(DIAL_NUMBER=${ARG2}) exten => s,n,Set(DIAL_TRUNK_OPTIONS=${DIAL_OPTIONS}) exten => s,n,Set(OUTBOUND_GROUP=OUT_${DIAL_TRUNK}) exten => s,n,GotoIf($["${OUTMAXCHANS_${DIAL_TRUNK}}foo" = "foo"]?nomax) exten => s,n,GotoIf($[ ${GROUP_COUNT(OUT_${DIAL_TRUNK})} >= ${OUTMAXCHANS_${DIAL_TRUNK}} ]?chanfull) exten => s,n(nomax),GotoIf($["${INTRACOMPANYROUTE}" = "YES"]?skipoutcid) exten => s,n,Set(DIAL_TRUNK_OPTIONS=${IF($["${DB_EXISTS(TRUNK/${DIAL_TRUNK}/dialopts)}" = "1"]?${DB_RESULT}{TRUNK_OPTIONS})}) exten => s,n,Macro(outbound-callerid,${DIAL_TRUNK}) exten => s,n(skipoutcid),GosubIf($["${PREFIX_TRUNK_${DIAL_TRUNK}}" != ""]?sub-flp-${DIAL_TRUNK},s,1()) exten => s,n,Set(OUTNUM=${OUTPREFIX_${DIAL_TRUNK}}${DIAL_NUMBER}) exten => s,n,Set(custom=${CUT(OUT_${DIAL_TRUNK},:,1)}) exten => s,n,ExecIf($["${MOHCLASS}"!="default" & "${MOHCLASS}"!="" & "${FORCE_CONFIRM}"="" ]?Set(DIAL_TRUNK_OPTIONS=M(setmusic^${MOHCLASS})${DIAL_TRUNK_OPTIONS})) exten => s,n,ExecIf($["${FORCE_CONFIRM}"!="" ]?Set(DIAL_TRUNK_OPTIONS=${DIAL_TRUNK_OPTIONS}M(confirm))) exten => s,n(gocall),Macro(dialout-trunk-predial-hook,) exten => s,n,GotoIf($["${PREDIAL_HOOK_RET}" = "BYPASS"]?bypass,1) exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""]?Set(CONNECTEDLINE(num,i)=${DIAL_NUMBER})) exten => s,n,ExecIf($[$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""] & $["${CALLERID(name)}"!="hidden"]]?Set(CONNECTEDLINE(name,i)=CID{CALLERID(number)})) exten => s,n,ExecIf($[$["${DB(AMPUSER/${AMPUSER}/cidname)}" != ""] & $["${CALLERID(name)}"="hidden"]]?Set(CONNECTEDLINE(name,i)=CIDHidden)${CALLERID(number)})) ; -------- custom code starts here exten => s,n,ExecIf($["${DB(cidname/${DIAL_NUMBER:-10})}" != ""]?Set(CONNECTEDLINE(name,i)=${DB(cidname/${DIAL_NUMBER:-10})})) ; -------- custom code ends here exten => s,n,GotoIf($["${custom}" = "AMP"]?customtrunk) exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM}${OUT_${DIAL_TRUNK}_SUFFIX},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS}) exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}) exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1) exten => s,n(customtrunk),Set(pre_num=${CUT(OUT_${DIAL_TRUNK},$,1)}) exten => s,n,Set(the_num=${CUT(OUT_${DIAL_TRUNK},$,2)}) exten => s,n,Set(post_num=${CUT(OUT_${DIAL_TRUNK},$,3)}) exten => s,n,GotoIf($["${the_num}" = "OUTNUM"]?outnum:skipoutnum) exten => s,n(outnum),Set(the_num=${OUTNUM}) exten => s,n(skipoutnum),Dial(${pre_num:4}${the_num}${post_num},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS}) exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}) exten => s,n,GotoIf($["${ARG4}" = "on"]?continue,1:s-${DIALSTATUS},1) exten => s,n(chanfull),Noop(max channels used up) exten => s-BUSY,1,Noop(Dial failed due to trunk reporting BUSY - giving up) exten => s-BUSY,n,Playtones(busy) exten => s-BUSY,n,Busy(20) exten => s-ANSWER,1,Noop(Call successfully answered - Hanging up now) exten => s-ANSWER,n,Macro(hangupcall,) exten => s-NOANSWER,1,Noop(Dial failed due to trunk reporting NOANSWER - giving up) exten => s-NOANSWER,n,Progress exten => s-NOANSWER,n,Playback(number-not-answering,noanswer) exten => s-NOANSWER,n,Congestion(20) exten => s-INVALIDNMBR,1,Noop(Dial failed due to trunk reporting Address Incomplete - giving up) exten => s-INVALIDNMBR,n,Progress exten => s-INVALIDNMBR,n,Playback(ss-noservice,noanswer) exten => s-INVALIDNMBR,n,Busy(20) exten => s-CHANGED,1,Noop(Dial failed due to trunk reporting Number Changed - giving up) exten => s-CHANGED,n,Playtones(busy) exten => s-CHANGED,n,Busy(20) exten => _s-.,1,Set(RC=${IF($[${ISNULL(${HANGUPCAUSE})}]?0{HANGUPCAUSE})}) exten => _s-.,n,Goto(${RC},1) exten => 17,1,Goto(s-BUSY,1) exten => 18,1,Goto(s-NOANSWER,1) exten => 22,1,Goto(s-CHANGED,1) exten => 23,1,Goto(s-CHANGED,1) exten => 1,1,Goto(s-INVALIDNMBR,1) exten => 28,1,Goto(s-INVALIDNMBR,1) exten => _X,1,Goto(continue,1) exten => _X.,1,Goto(continue,1) exten => continue,1(noreport),Noop(TRUNK Dial failed due to ${DIALSTATUS} HANGUPCAUSE: ${HANGUPCAUSE} - failing through to other trunks) exten => continue,n,ExecIf($["${AMPUSER}"!="" ]?Set(CALLERID(number)=${AMPUSER})) exten => disabletrunk,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} DISABLED - falling through to next trunk) exten => bypass,1,Noop(TRUNK: ${OUT_${DIAL_TRUNK}} BYPASSING because dialout-trunk-predial-hook) exten => h,1,Macro(hangupcall,) ;--== end of [macro-dialout-trunk] ==--; [macro-outbound-callerid] include => macro-outbound-callerid-custom exten => s,1,ExecIf($["${CALLINGNAMEPRES_SV}" != ""]?Set(CALLERPRES(name-pres)=${CALLINGNAMEPRES_SV})) exten => s,n,ExecIf($["${CALLINGNUMPRES_SV}" != ""]?Set(CALLERPRES(num-pres)=${CALLINGNUMPRES_SV})) exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)})) ; -------------- custom code starts here exten => s,n,ExecIf($["${DB(cidname/${DIAL_NUMBER:-10})}" != ""]?Set(CDR(userfield)=${DB(cidname/${DIAL_NUMBER:-10})})) ; -------------- custom code ends here exten => s,n(start),GotoIf($[ $["${REALCALLERIDNUM}" = ""] | $["${KEEPCID}" != "TRUE"] | $["${OUTKEEPCID_${ARG1}}" = "on"] ]?normcid) exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM}) exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass) exten => s,n(normcid),Set(USEROUTCID=${DB(AMPUSER/${AMPUSER}/outboundcid)}) exten => s,n(bypass),Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)}) exten => s,n,Set(TRUNKOUTCID=${OUTCID_${ARG1}}) exten => s,n,GotoIf($["${EMERGENCYROUTE:1:2}" = "" | "${EMERGENCYCID:1:2}" = ""]?trunkcid) exten => s,n,Set(CALLERID(all)=${EMERGENCYCID}) exten => s,n,Set(CDR(outbound_cnum)=${CALLERID(num)}) exten => s,n,Set(CDR(outbound_cnam)=${CALLERID(name)}) exten => s,n(exit),MacroExit() exten => s,n(trunkcid),ExecIf($[${LEN(${TRUNKOUTCID})} != 0]?Set(CALLERID(all)=${TRUNKOUTCID})) exten => s,n(usercid),ExecIf($[${LEN(${USEROUTCID})} != 0]?Set(CALLERID(all)=${USEROUTCID})) exten => s,n,ExecIf($[${LEN(${TRUNKCIDOVERRIDE})} != 0 | ${LEN(${FORCEDOUTCID_${ARG1}})} != 0]?Set(CALLERID(all)=${IF($[${LEN(${FORCEDOUTCID_${ARG1}})}=0]?${TRUNKCIDOVERRIDE}:${FORCEDOUTCID_${ARG1}})})) exten => s,n(hidecid),ExecIf($["${CALLERID(name)}"="hidden"]?Set(CALLERPRES(name-pres)=prohib_passed_screen)) exten => s,n,ExecIf($["${CALLERID(name)}"="hidden"]?Set(CALLERPRES(num-pres)=prohib_passed_screen)) exten => s,n,Set(CDR(outbound_cnum)=${CALLERID(num)}) exten => s,n,Set(CDR(outbound_cnam)=${CALLERID(name)}) ;--== end of [macro-outbound-callerid] ==--;
Με το πρόγραμμα winscp πηγαίνουμε στον κατάλογο /etc/asterisk, βρίσκουμε το αρχείο extensions_override_freepbx.conf και πατάμε το πλήκτρο F4. Θα μας ανοίξει το σημειωματάριο ή όποιο άλλο πρόγραμμα έχουμε για την επεξεργασία αρχείων απλού κειμένου. Αν είναι άδειο τότε απλά κάνουμε επικόλληση του κώδικα. Αλλιώς πηγαίνουμε στο τέλος του αρχείου και με μια τουλάχιστον κενή γραμμή ανάμεσα στο προηγούμενο μπλοκ κώδικα, κάνουμε επικόλληση του δικού μας κώδικα. Αποθηκεύουμε και κλείνουμε το αρχείο.
Μπαίνουμε με putty σαν root και δίνουμε την εντολή rasterisk –x “dialplan reload” Αν όλα έχουν πάει καλά τότε με την επομένη εξερχόμενη κλήση που θα κάνετε και εφόσον ο αριθμός βρεθεί στο asterisk phonebook τότε στην οθόνη του sip τηλεφώνου σας θα εμφανίζετε το όνομα αντί για το CID:Αριθμός. Επίσης στο CDR θα εμφανίζετε το όνομα στο πεδίο userfield.
*γραμμές τύπουστο log είναι φυσιολογικές λόγου πιθανού bug που έχει το cdrΚώδικας:WARNING[1819]: func_cdr.c:377 cdr_write_callback: CDR requires a value (CDR(variable)=value)
Εμφάνιση 1-15 από 21
-
02-11-16, 03:50 [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #1
Μετά από ερώτημα του μέλους stelakis1914 στο thread FreePBX + dongle και λίγο Google, έχουμε αυτήν την δυνατότητα. Δηλαδή όταν καλούμε έναν αριθμό και είναι στο asterisk phonebook μπορεί να εμφανίζετε το όνομα του στη οθόνη του τηλεφώνου μας αντί για το CID:Αριθμός.
Για να «ρυθμίσουμε» τον asterisk έτσι ώστε να μα εμφανίζει το όνομα θα πρέπει να παρακάμψουμε την φυσιολογική συμπεριφορά του freepbx κατά τις εξερχόμενες κλήσεις. Αυτό γίνετε βάζοντας αντίγραφα δυο μακρό-εντολών στο αρχείο /etc/asterisk/extensions_override_freepbx.conf. Κατά 99% αυτό το αρχείο πρέπει να είναι άδειο. Οι προχωρημένοι χρήστες του asterisk ή όσοι έχουν εγκαταστήσει το fop2 θα έχουν κάτι σε αυτό το αρχείο.
Ο κώδικας που πρέπει να μπει σε αυτό το αρχείο είναι ο παρακάτω.
Για asterisk 11
Spoiler:
Για asterisk 13*
Spoiler:
Με το πρόγραμμα winscp πηγαίνουμε στον κατάλογο /etc/asterisk, βρίσκουμε το αρχείο extensions_override_freepbx.conf και πατάμε το πλήκτρο F4. Θα μας ανοίξει το σημειωματάριο ή όποιο άλλο πρόγραμμα έχουμε για την επεξεργασία αρχείων απλού κειμένου. Αν είναι άδειο τότε απλά κάνουμε επικόλληση του κώδικα. Αλλιώς πηγαίνουμε στο τέλος του αρχείου και με μια τουλάχιστον κενή γραμμή ανάμεσα στο προηγούμενο μπλοκ κώδικα, κάνουμε επικόλληση του δικού μας κώδικα. Αποθηκεύουμε και κλείνουμε το αρχείο.
Μπαίνουμε με putty σαν root και δίνουμε την εντολή rasterisk –x “dialplan reload” Αν όλα έχουν πάει καλά τότε με την επομένη εξερχόμενη κλήση που θα κάνετε και εφόσον ο αριθμός βρεθεί στο asterisk phonebook τότε στην οθόνη του sip τηλεφώνου σας θα εμφανίζετε το όνομα αντί για το CID:Αριθμός. Επίσης στο CDR θα εμφανίζετε το όνομα στο πεδίο userfield.
*γραμμές τύπουΚώδικας:WARNING[1819]: func_cdr.c:377 cdr_write_callback: CDR requires a value (CDR(variable)=value)
-
04-11-16, 02:51 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #2
Καταρχήν kronos911 τις ευχαριστίες μου γι αυτό το post. Φοβερά χρήσιμο.
Μία ερώτηση: Τα dialout-trunk & outbound-trunk που παραθέτεις, πρέπει να μπουν ως έχουν ή να βάλουμε αυτά που έχει ο καθένας στη distro του. Π.χ το δικό μου dialout-trunk είναι διαφορετικο από αυτό με το οποίο πρέπει να κάνω την αντικατάσταση. Τί γίνεται σε αυτή την περίπτωση?
-
04-11-16, 08:30 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #3
Τα macro που παραθετω είναι από καθαρο freepbx (το 11 από distro και το 13 από raspbx).
Η δικάσου διανομή πια είναι?
Η όλη δουλεία γίνετε με τις δυο γραμμές που μπαίνουν στα macro αντίστοιχα. Αν μπορείς να καταλάβεις σε πιο σημείο μπαίνουν προσαρμόζεις τα δικά σου αναλόγως. Αλλιώς στείλε μου τα μαζί με την έκδοση που φοράς.
-
04-11-16, 11:26 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #4
Να 'σαι καλά. Είναι πολύ εύκολη η προσθήκη απλά επειδή χρησιμοποιώ την PBXIAF και είχα κάνει και κάποια ψιλο-customisation δεν ήμουν σίγουρος για τον τρόπο.
Έκανα ήδη την αλλαγή και περιμένω να δω αν δουλεύει και στο τηλέφωνο (το cdr δουλεύει μια χαρά και το bug στο οποίο αναφέρθηκες επίσης )
Για άλλη μια φορά σε ευχαριστώ για την πολύτιμη βοήθειά σου
-
18-05-17, 23:28 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #5
Καλησπερα,
ακολουθησα τα βηματα και περνω error pbx.c:12485 ast_context_verify_includes: Context 'macro-dialout-trunk' tries to include nonexistent context 'macro-dialout-trunk-custom'
kai
[2017-05-18 23:28:23] WARNING[5793][C-00000017]: res_agi.c:1681 launch_script: Failed to execute '/var/lib/asterisk/agi-bin/trunkbalance.php': File does not exist.
Παρατηρησα οτι στο cdr στο πεδιο userfield πλεον μου εμφανιζει το ονομα αλλα δεν μου το εμφανιζει στην συσκευηΤελευταία επεξεργασία από το μέλος italianrulez : 18-05-17 στις 23:35.
-
19-05-17, 00:59 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #6
Από το /etc/asterisk/extensions_override_freepbx.conf μπορείς να σβήσεις την γραμμή
Κώδικας:exten => s,n,AGI(trunkbalance.php,${ARG1},${ARG2})
Όσο για το Context 'macro-dialout-trunk' tries to include nonexistent context 'macro-dialout-trunk-custom' είναι απλή προειδοποίηση.
Ποια έκδοση του asterisk τρέχεις;
-
19-05-17, 01:04 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #7
αστεριας 11
-
19-05-17, 01:40 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #8
-
19-05-17, 02:01 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #9
Δεν νομιζω οτι εχω ρυθμισει κατι τετοιο πως γινετε?
-
19-05-17, 08:24 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #10
Ποιες συσκευές έχεις (μάρκα, μοντέλο).
Επίσης στα Advanced settings του FreePBX θα βρεις τις επιλογές send rpid και trust rpid. Το πρώτο θα το βάλεις σε PAI και το δεύτερο σε yes. Θα πρέπει να κάνεις την ρύθμιση σε κάθε εσωτερικό που έχεις ήδη φτιάξει (στα νέα θα μπει αυτόματα μετά την αλλαγή στα advanced settings)
-
19-05-17, 13:16 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #11
Yealink T23G. Πρεπει να του κανω καποιες ρυθμισεις η θα τις παρει τις αλαγες μολις κανω reboot στο κεντρο?
Εχω βαλει και την αναζητηση απο το threat για το 11888 καπου αναφερεις οτι το superfecta κραταει τους αριθμους υπαρχει περιπτωση για μαζικη αποθηκευση η να κανει ανακτηση οτι εχει βρει απο το 11888 και να το εμφανιζει οταν το καλουμε?
Εβαλα στις ρυθμισεις του yealink απο την καρτελα advanced Caller ID Source = RPID-PAI-FROM και θα κανω δοκιμεςΤελευταία επεξεργασία από το μέλος italianrulez : 19-05-17 στις 13:52.
-
19-05-17, 14:54 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #12
-
19-05-17, 16:14 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #13
Εβαλα τις ρυθμισεις τα εκανα ολα reboot τα εσβησα τα ξαναπερασα τπτ!! To yealink αρνειτε να βγαλει το ονομα στις εξερχομενες. Στο cdr-->userfield μου εμφανιζει κανονικοτα το ονομα στα ελληνικα οπως το εχω στο phonebook.
Εβαλα σε καθε παλιο extension μεσα απο το frepbx
Trust RPID -->yes
Send RPID--> Send Remote-Party-ID header
και παλι τιποτα το yealinkΤελευταία επεξεργασία από το μέλος italianrulez : 19-05-17 στις 17:08.
-
19-05-17, 18:14 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #14
-
19-05-17, 18:37 Απάντηση: [Asterisk-FreePBX] Εμφάνιση ονόματος καλούμενου αριθμού στις εξερχόμενες κλήσεις. #15
Λοιπον το δοκιμασα και αυτο και μου βγαζει το ονομα πανω στην lcd αφου το σηκωσει ο αλλος. Ετσι πρεπει να δουλευει? η και κατα την διαρκεια της κλησης πρεπει να μου βγαζει το ονομα ασχετα αν απαντησει?
Επισης οταν δεν εχω περασμενο ονομα μεσα στο phonebook μου βγαζει το CID του TRUNK και διπλα το νουμερο που καλω για την εξερχομενηΤελευταία επεξεργασία από το μέλος italianrulez : 19-05-17 στις 21:42.
Παρόμοια Θέματα
-
εμφανιση σειρας αρθρων σε wp
Από TATSHS στο φόρουμ Internet, web surfing και online υπηρεσίεςΜηνύματα: 0Τελευταίο Μήνυμα: 30-10-16, 18:33 -
Ξε-zip-άρισμα με λάθος χαρακτήρες ονόματος περιεχομένου (που δουλεύει στα windows)
Από divinesheet στο φόρουμ Unix - LinuxΜηνύματα: 6Τελευταίο Μήνυμα: 31-07-16, 16:47 -
Πρόβλημα με αλλαγή ονόματος Facebook Page.
Από Agg3los στο φόρουμ Internet, web surfing και online υπηρεσίεςΜηνύματα: 4Τελευταίο Μήνυμα: 09-06-16, 03:32 -
Cyta: Πληροφορίες για τη μεταφορά του τηλεφωνικού σας αριθμού Κινητής (Φορητότητα)
Από nnn στο φόρουμ ΕιδήσειςΜηνύματα: 5Τελευταίο Μήνυμα: 02-06-16, 18:18 -
Αλλαγή αριθμού κινητού Cosmote
Από Rookie στο φόρουμ Κινητή ΕυρυζωνικότηταΜηνύματα: 4Τελευταίο Μήνυμα: 22-05-16, 13:15
Bookmarks