Πως+να+ρυθμίσω+το+Communigate+για...+Afterhours+(ακούγεται+λίγο+πρόστυχο+;)

Αυτό που θα επιτύχουμε με την παρακάτω διαδικασία είναι να ρυθμίσουμε το Communigate να παίζει διαφορετικό μήνυμα μετά τις ώρες εργασίας της εταιρίας (π.χ. μετά τις 17:00 και πριν τις 09:00). Κατά την διάρκεια του μηνύματος κάποιος χρήστης της εταιρία μπορεί να πατήσει *<εσωτερικό> και να χειριστεί τον προσωπικό του λογαριασμό ή να καλέσει κατευθείαν εσωτερικό νούμερο αν ξέρει ότι κάποιος είναι εκεί. Μόλις τελειώσει το μύνημα μπορεί να ρυθμιστεί να χτυπάει σε κάποια εσωτερικά ή να το σηκώνει ο τηλεφωνητής της γραμματείας ώστε να αφήνει μήνυμα όποιος καλεί.

Αντιγράφω τα υπάρχοντα pbx.sppr και reception.sppi σε pbx_after.sppr και reception_after.sppi αντίστοιχα. Ανοίγω το pbx_after.sppr και ψάχνω την λέξη "reception" και όπου την βρω την αλλάζω σε "reception_after" (σε δύο σημεία υπάρχει τώρα που το γράφω). Ανοίγω το reception_after.sppi και αλλάζω την γραμμή "procedure reception is" σε "procedure reception_after is". Κάνω comment τις γραμμές: PlayFile("Welcome"); PlayFile("Failure"); playFile("TryingExtension"); PlayFileInLoop("Blank",1000); PlayFile("InvalidEntry"); Κάνω επίσης comment όλες τις παρακάτω γραμμές που βρίσκονται μέσα στο "while IsConnected loop" ώστε να μην λέει τίποτα το automated γκομενάκι που μιλάει by default (επίσης αν έχω κάνει καμιά customιά στο τι να παίζει την κάνω και την customιά comment).

if directoryDigits > 0 then PlayFile("DialKnownExtension"); end if; @1.9: >= 0 -> > 0 i = 0; while i < length(theList) loop playMenu("For" + theList.(theList[i]),theList[i]); i = i + 1; end loop; if hasByName then playMenu("IfNameKnown", "9"); end if; if hasOperator then playMenu("ToSpeakOperator", "0"); end if; if targetAccount != null then playMenu("ToReturnMenu", "#"); end if; if customTrailer != null then Play(customTrailer); end if;

Ακριβώς πάνω από το "command = ReadInput(5);" προσθέτω τις εξής γραμμές: i = 0; PlayFile("FileToPlay");// Το FileToPlay μπορεί να λέγεται όπως εμείς θέλουμε, αρκεί να συμβαδίζει το όνομα του αρχείου που έχουμε ανεβάσει.

Σε αυτό το σημείο πρέπει να ανεβάσω το αρχείο filetoplay.wav το οποίο πρέπει να είναι 48000Hz 1ch (mono) s16le (2 bytes ή 16 bits per sample) στο "Users -> Domains ->  -> PBX".

Τέλος με τα HACKERIKA και έτσι...

Πάμε να περάσουμε τα rules στο Communigate που θα μας παραπέμπουν στα αρχεία που κάναμε edit...

Στον χρήστη pbx του domain στο Real-Time -> Incoming Call Rules, αν δεν έχουμε κάνει καμία αλλαγή θα υπάρχει ένα Rule "PBX Center starter" το οποίο θα το αφήσουμε να έχει το μικρότερο priority ώστε να εκτελείται τελευταίο.

Πρέπει να προσθέσουμε άλλα δύο...

Weekend θα ονομάσουμε το ένα και θα έχει μεγαλύτερο priority από τα υπόλοιπα: Data Operation Parameter Current Day in Sat,Sun

Action Parameter Redirect To #pbx_after Discard Rules

Afterhours το δεύτερο και θα έχει μεσαίο priority: Data Operation Parameter Time Of Day in 17:01-08:59

Action Parameter Redirect To #pbx_after Discard Rules

Προφανώς τα παραπάνω δύο Rules που μόλις προσθέσαμε πρέπει να συμβαδίζουν με τις ρυθμίσεις που έχουμε κάνει στο "Users -> Domains ->  -> Account Defaults -> Preferences -> Calendar -> Working Hours:"

Τώρα ενδεικτικά θα περιγαψω δύο πιθανές περιπτώσεις. 1) Μπορούμε να ρυθμίσουμε ένα afterhours_callgroup και ενα afterhours_forwarder που να κάνει forward στο afterhours_callgroup ώστε να χτυπάει ένα group εσωτερικών τηλεφώνων αφού τελειώσει το μύνημα. Αν υποθέσουμε ότι έχω φτιάξει τον afterhours_forwarder όπως προαναφέρθηκε, ανοίγω το reception_after.sppi και αλλάζω την γραμμή 'toCall = "operator";' σε 'toCall = "afterhours_forwarder";'

2) Να ρυθμίσουμε το account της γραμματείας να το σηκώνει ο τηλεφωνητής στις μη εργάσιμες ώρες. Κάνουμε alias το account της γραμματείας σε "operator". Πάμε στο "Users -> Domains ->  -> Objects ->  -> Real-Time -> Incoming Call Rules" και ενεργοποιούμε το Divert Calls When: afterhours To: voice mail.