Αναζήτηση:

Type: Posts; Χρήστης: crond; Λέξη(εις) Κλειδιά:

Σελ. 1 από 3 1 2 3

Αναζήτηση: Η αναζήτηση ολοκληρώθηκε σε 2,29 δευτερόλεπτα

  1. Μηνύματα
    6
    Εμφανίσεις
    6.105

    Απάντηση: πρόβλημα αποσύνδεσης ote trunk

    αρα βαζω ενα dyndns εκει

    - - - Updated - - -

    οχι τα ιδια
  2. Μηνύματα
    6
    Εμφανίσεις
    6.105

    Απάντηση: πρόβλημα αποσύνδεσης ote trunk

    +302222222222:xxxxxxxxx:+302222222222@ims.otenet.gr@ims.otenet.gr:5060/+302222222222
  3. Μηνύματα
    6
    Εμφανίσεις
    6.105

    Απάντηση: Re: πρόβλημα αποσύνδεσης ote trunk

    Μηπως κανεις register κατευθειαν στην IP του ims. Προσφατα αλλαξαν πολιτικη και πρεπει να κανει register με το fqdn.

    οχι στο host κανονικα δεν αλλαξα τιποτα εδω και χρονια
  4. Μηνύματα
    6
    Εμφανίσεις
    6.105

    πρόβλημα αποσύνδεσης ote trunk

    καλημερα παιδια
    εχω αρκετα χρονια ενα elastix και ξαφνικα τις τελευταιες μερες πεφτει το register, λεει η γραμμη δεν λειτουργει για τεχνικους λογους κτλ. πως μπορω να δω τι μπορει να φταιει για να το τσεκαρω?
  5. Μηνύματα
    8
    Εμφανίσεις
    4.789

    Απάντηση: OTE Voip Δεν μπορούν να με καλέσουν σταθερά

    Καμια ιδεα?
  6. Μηνύματα
    8
    Εμφανίσεις
    4.789

    Απάντηση: OTE Voip Δεν μπορούν να με καλέσουν σταθερά

    καλημερα και καλη χρονια σε ολους
    οταν λες κανονα? μπορεις να βοηθησεις λιγο περισσοτερο?
  7. Μηνύματα
    8
    Εμφανίσεις
    4.789

    Απάντηση: OTE Voip Δεν μπορούν να με καλέσουν σταθερά

    με αυτο τον τροπο δουλευει αλλα οταν καλω το msn ακυρωνει το inbound route του msn και με παει στο inbound απο το κεφαλικο νουμερο. με το context=from-pstn-toheader δουλευει το κεφαλικο και το msn αλλα χανω κλησεις απο σταθερα
  8. Μηνύματα
    8
    Εμφανίσεις
    4.789

    Απάντηση: OTE Voip Δεν μπορούν να με καλέσουν σταθερά

    με bold?
  9. Μηνύματα
    8
    Εμφανίσεις
    4.789

    OTE Voip Δεν μπορούν να με καλέσουν σταθερά

    Καλησπερα και χρονια πολλα στην παρεα
    μετεφερα το κεντρο μου απο elastix σε asterisk και παρατηρησα οτι δεν μπορουν να με καλεσουν πολλοι απο σταθερα. απο κινητα παιρνω κανονικα κληση. Οταν καλω τον αριθμο μου απο το ιδιο το κεντρο (isdn) παιρνω logs:

    WARNING: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
    = 1 & 0 = 0
    ^

    WARNING: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables

    WARNING: ast_expr2.fl:470 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '=', expecting $end; Input:
    = 1 & 0 = 0
    ^

    WARNING: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
    WARNING: Ext. s:3 @ from-pstn: Friendly Scanner from 195.167.16.13


    το trunk μου:


    username=+302ΧΧΧΧΧΧ
    type=peer
    secret=#######
    qualify=yes
    insecure=invite
    host=ims.otenet.gr
    fromuser=+302ΧΧΧΧΧΧ
    fromdomain=ims.otenet.gr
    allow=alaw&ulaw
    context=from-pstn-toheader

    +302ΧΧΧΧΧΧΧ:########:+302ΧΧΧΧΧΧΧΧ@ims.otenet.gr@ims.otenet.gr:5060/+302ΧΧΧΧΧΧ


    οποιαδηποτε βοηθεια ευπροσδεκτη
  10. Μηνύματα
    16
    Εμφανίσεις
    8.338

    Απάντηση: Ηχητικές υπενθυμίσεις

    καλημερα,
    σε ευχαριστω πολυ :)
  11. Μηνύματα
    16
    Εμφανίσεις
    8.338

    Απάντηση: Ηχητικές υπενθυμίσεις

    καλησπερα
    μπορουμε να το ανεβασουμε παλι γιατι το link δεν δουλευει πλεον
  12. Μηνύματα
    33
    Εμφανίσεις
    9.118

    Απάντηση: Η γραμμή του γείτονα περνάει από το σπίτι μου!?!!?

    Καλημερα παιδια,
    Ειπα να ξεθαψω το θεμα μιας και εχω αναλογο προβλημα. Απο την κολονα περναει καλωδιο του ΟΤΕ στο σπιτι μου και απο το σπιτι μου στους γειτονες. Εχω ειδοποιησει τον ΟΤΕ οτι θελω να κανω εργασιες στην προσοψη του σπιτιου μου απο τις 10 Αυγουστου. Ηρθε ο εργολαβος και εκανε αυτοψια. Απο εκει και περα τιποτα. Στις 11 Σεπτεμβριου τους ξανα ενοχλω. Μου λενε στις 16 Σεπτεμβριου θα το αποκαταστησουν. Ακομη δεν εχουν ερθει και εγω θελω να αλλαξω σοβα. Να το κοψω τι να κανω?
  13. Μηνύματα
    17
    Εμφανίσεις
    4.001

    Απάντηση: Mikrotik load balance και 2 οτε trunks

    να βαλεις τα speed/oxy πριν το pbx και το Pbx να παιρνει απο αυτα μεσω rj11/rj45.

    Με oxygen δουλευω προς το παρον αλλα δεν ειναι και οτι καλυτερο

    - - - Updated - - -

    Μην κολλατε με τις δυο ethernet. Μπορει καποιος να βαλει δυο ip στο ιδιο ethernet.
    Το προβλημα ειναι το software του pbx, και πιο συγκεκριμενα, ο asterisk. Οσο μιλαμε για sip, δεν μπορεις να κανεις bind συγκεκριμενο trunk σε συγκεκριμενη ip.
    Αντιθετα, με pjsip γινεται μια χαρα, ομως το pjsip ΔΕΝ παιζει με τον ims του Ποτε γιατι εχουν φτιαξει registration string με πολλα @.
    Οποτε και ενα μικρο asterisk να κανει τον proxy. Σε virtual περιβαλλον δεν ειναι κατι δυσκολο βεβαια, και δουλευει εξαιρετικα καλα. (και οχι δεν χρειαζεται iax για μεταξυ τους. Απλο sip ειναι αρκετο. )
    Rj 11 και αναλογικες πορτες ειναι προβλημα, οπως προβλημα ειναι και το emulated isdn, τουλαχιστον απο πλευρας πολυπλοκοτητας και κοστους

    σκεφτομαι για 2 raspberry μιας και το κεντρο μου ειναι σχετικα μικρο
  14. Μηνύματα
    17
    Εμφανίσεις
    4.001

    Mikrotik load balance και 2 οτε trunks

    Καλησπερα παιδια.
    Εχω ενα mikrotik router που κανει load balance 2 vdsl γραμμες ΟΤΕ.
    Εχω ενα freepbx με 2 sip trunks του ΟΤΕ.
    Λογο του load balance δεν μπορουν να γινουν register τα trunks.
    Πρεπει με καποιο τροπο να μαρκαρω στο mikrotik το trunk1 να βγαινει απο την vdsl1 και το trunk2 να βγαινει απο την vdsl2
    Οι αποψεις σας και οι ιδεες σας θα με ευχαριστουσαν :)
  15. Μηνύματα
    7
    Εμφανίσεις
    2.923

    Re: βοήθεια για επιλογή software

    καλημερα και ευχαριστω για τις απαντησεις
    θα επιλεξω issabel τελικα δουλευει και το restore backup απο elastix ειδα
  16. Μηνύματα
    7
    Εμφανίσεις
    2.923

    Απάντηση: βοήθεια για επιλογή software

    αν θελω?
  17. Μηνύματα
    7
    Εμφανίσεις
    2.923

    βοήθεια για επιλογή software

    καλημερα συναδελφοι
    φρικαρε το κεντρο μου (elastix 4)
    ειχα ακουσει για το ombutel.. εγινε με χρεωση? τι φαση εχω μεινει πισω για δωστε τα φωτα σας
  18. Θέμα: No more Elastix

    Από crond
    Μηνύματα
    28
    Εμφανίσεις
    6.513

    Απάντηση: No more Elastix

    καλημερα
    υπαρχει περιπτωση να βρουμε το iso για elastix 4?
  19. Μηνύματα
    39
    Εμφανίσεις
    30.288

    Απάντηση: Cosmote Speedport Entry 2i configuration

    καλημερα παιδια
    θελω να κανω το speedport bridge mode για να δινει στο mikrotik απο την ethernet1
    θελω να ενωσω τα ports: voip1,2, ether2, ether3 και ether4
    απο το lan του mikrotik θελω να δινω internet παλι στο speedport (ether4) για να μπορει να σηκωνει το voip
    βαζω και εικονα να το δειτε
    καμια ιδεα?

    185191
  20. Θέμα: Speedport Entry 2i

    Από crond
    Μηνύματα
    7.762
    Εμφανίσεις
    1.935.242

    Απάντηση: Speedport Entry 2i

    εχει βγει καποιο firmware εκτος οτε? εχει βρεθει καποιο root pass?
  21. Θέμα: Speedport Entry 2i

    Από crond
    Μηνύματα
    7.762
    Εμφανίσεις
    1.935.242

    Απάντηση: Speedport Entry 2i

    παιδια εχουν ακυρωσει το pppoe pass-through? δεν το βλεπω πλεον στο menu
  22. Μηνύματα
    59
    Εμφανίσεις
    33.643

    Απάντηση: speedport w 724v σε bridge mode

    το speedport
  23. Μηνύματα
    59
    Εμφανίσεις
    33.643

    Απάντηση: speedport w 724v σε bridge mode

    Παιδια καλησπερα
    Σκεφτηκα ενα σεναριο και εσεις που εχετε ασχοληθει θα ηθελα την γνωμη σας
    Στο speedport bridge mode, και bridgαρω την eth2, eth3, eth4,wifi, voip.
    Ενα καλωδιο απο το speedport eth1 στο mikrotik (το mikrotik σηκωνει pppoe) ενα καλωδιο απο την lan του mikrotik στην lan2 του speedport. Ετσι οπως το φανταζομαι το speedport κανει bridge την τηλεφωνικη γραμμη και την δινει στην lan1, το mikrotik σηκωνει pppoe και δινει lan στην eth2 του speedport και ετσι παιρνει internet και δουλευει και το voip. Θα δουλεψει τι λετε?

    183291
  24. Μηνύματα
    2.364
    Εμφανίσεις
    587.100

    Απάντηση: OTE voip

    καλημερα καπου ειχα δει εναν οδηγο για bridge και passtrough εχει κανεις το link?
  25. Μηνύματα
    2.364
    Εμφανίσεις
    587.100

    Απάντηση: OTE voip

    Λογικα οχι δεν αλλαζουν απλα το λενε για να τους βαλεις αμεσως για λογους ασφαλειας.. λογικα επιτρεπουν μονο 1 login ανα κωδικο
  26. Μηνύματα
    2.364
    Εμφανίσεις
    587.100

    Απάντηση: OTE voip

    Η αληθεια ειναι οτι θελω να το γυρισω σε voip αλλα σκεφτομαι οτι σε βλαβη δεν θα εχω τηλεφωνο.. απο την αλλη αν το γυρισω σε voip πεταω και το isdn modem και εξοικονομω χωρο στο rack
  27. Μηνύματα
    2.364
    Εμφανίσεις
    587.100

    Απάντηση: OTE voip

    1. Για την ολη διαδικασια... τα εχουμε πει.
    Παρ ολο που καποιοι επιμενουν σθεναρα οτι δεν γινεται και οτι εμεις που τους πηραμε ειμαστε εξωγηινοι.
    2. Το oxygen το δινουν οταν εχεις δυο καναλια φωνης (οταν προερχεσαι απο isdn).
    3. fw του ΟΤΕ.
    4. Αν δεν εχεις δικτυο, δεν εχεις και τηλεφωνο, αφου η τηλεφωνια σου θα βγαινει μεσω Internet.
    5. Για * που ρωτας... το εχουν υλοποιησει καποιοι.
    Ριξε μια ματια.

    Εγραψα την διαδικασια για καποιους που επιμενουν οτι δεν τους δινουν..
    Εχει την δυνατοτητα bridge mode το oxygen? Τρεχω mikrotik σαν router και μετα asterisk απο πισω γι’αυτο θελω να μη κανω βεβιασμενες κινησεις
  28. Μηνύματα
    2.364
    Εμφανίσεις
    587.100

    Απάντηση: OTE voip

    Καλημερα
    Πηρα τηλεφωνο στην τεχνικη υποστηριξη και ρωτησα για κωδικους voip (δεν εχω ακομη voip) μου λεει δεν υπαρχει η δυνατοτητα, της λεω ρωτηστε προισταμενο, ρωταει και μου λεει παλι δεν υπαρχει δυνατοτητα, ξανα λεω ρωτηστε καποιον αλλον προισταμενο και εκει ηρθε η απαντηση που ηθελα! Ναι κυριε τελικα υπαρχει η δυνατοτητα να δοθουν οι κωδικοι της τηλεφωνιας. Ρωτησα ποιον router δινουν και απαντησε το oxygen hdv24201 και οτι ερχεται τεχνικος να το συνδεσει.. το εχει καποιος? Εχει το firmware του ΟΤΕ η το μαμα? Να προχωρησω σε voip η οχι? Αν δεν εχω internet δεν θα εχω και τηλεφωνο σε καποια βλαβη.. εσεις τι λετε? Το voip του ΟΤΕ συνεργαζεται με asterisk? Το εχει δοκιμασει κανεις?
  29. Μηνύματα
    260
    Εμφανίσεις
    189.319

    Απάντηση: Επιτέλους Bridge mode σε ZTE ZXHN H168N

    παιδια καλημερα τελικα βρηκα ακρη σχετικα με το pppoe...
    αν το δικτυο ειναι απο καμπινα ΟΤΕ στο pppoe θελει username/password
    αν το δικτυο ειναι vodafone στο pppoe client γραφεις username: guest@adsl.gr και password: guest@adsl.gr
    vodafone vdsl- router ZTE ZXHN H367N
  30. Μηνύματα
    260
    Εμφανίσεις
    189.319

    Απάντηση: Επιτέλους Bridge mode σε ZTE ZXHN H168N

    xDSL Transfer Mode: PTM
    Service List: internet
    VLAN ενεργοποιημενο
    VLAN ID 835
    802.1p 0
    Type Bridge Connection
    DSCP μη ενεργοποιημενο

    ουτε σε εμενα δουλεψε με mikrotik.. εσβησα τις 2 συνδεσεις που ειχε και εφτιαξα το bridge αλλα τιποτα

    router ZXHN H367N vodafone
  31. Μηνύματα
    580
    Εμφανίσεις
    42.170

    Απάντηση: Κλήρωση ενός κινητού MLS Diamond Fingerprint TS 4G

    ευχαριστω πολυ
  32. Μηνύματα
    10
    Εμφανίσεις
    3.298

    Απάντηση: fax extension (virtual fax) elastix

    isdn openvox b100p καρτα εχω
  33. Μηνύματα
    10
    Εμφανίσεις
    3.298

    Απάντηση: fax extension (virtual fax) elastix

    Τα εχω κανει ολα αυτα παιδια. Εγινε register το extension του fax. Οταν κανω κληση, παταω το 0 στο ivr που σε παει στο extension του fax, ακουω τον ηχο του fax παταω αποστολη και μετα μου λεει comm. Error. Στο cli δεν βλεπω κατι..
  34. Μηνύματα
    10
    Εμφανίσεις
    3.298

    Απάντηση: fax extension (virtual fax) elastix

    ξαφνικα χωρις να πειραξω κατι δουλεψε.. οταν παω να λαβω ομως καποιο fax στον αποστολεα βγαζει comm. error
  35. Μηνύματα
    10
    Εμφανίσεις
    3.298

    Απάντηση: fax extension (virtual fax) elastix

    Καλημερα και ευχαριστω παρα πολυ για τον χρονο σου
    Εκανα τις αλλαγες που προτεινες αλλα παλι τα ιδια.. μεχρι και το extension του fax αλλαξα

    329123 (null) (D) 255.255.255.255 0 UNKNOWN

    https://www.dropbox.com/s/tc9ow6tytsv7nz8/fax.png?dl=0

    ERROR: chan_iax2.c:5093 handle_call_token: Call rejected, CallToken Support required. If unexpected, resolve by placing address 127.0.0.1 in the calltokenoptional list or setting user 329123 requirecalltoken=no

    αλλαξα το calltoken=no και παλι:

    WARNING: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Subscriber absent)
  36. Μηνύματα
    10
    Εμφανίσεις
    3.298

    Απάντηση: fax extension (virtual fax) elastix

    status: Running and idle on ttyIAX1

    iax peers:
    108 (null) (D) 255.255.255.255 0 UNKNOWN


    cli:

    WARNING: func_presencestate.c:132 presence_read: PRESENCE_STATE unknown
    WARNING: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'IAX2' (cause 20 - Subscriber absent)
  37. Μηνύματα
    10
    Εμφανίσεις
    3.298

    fax extension (virtual fax) elastix

    Παιδια καλησπερα
    Προσπαθω εδω και μερες να φτιαξω ενα fax extension δηλαδη ενα IVR να λεει: για fax πατα 0, για πωλησεις πατα 1, για λογιστηριο πατα 2

    Το 1 χτυπαει το 101
    Το 2 χτυπαει το 102
    Το 0 (fax) χτυπαει το 108

    Μιλαω για το κλασικο virtual fax στον elastix. Με ενδιαφερει μονο να λαμβανω fax στο email μου.

    Εχω στησει τον server βαση του οδηγου:
    http://community.spiceworks.com/how_to/23564-setup-a-fax-extension-in-elastix

    οταν καλω απο ενα αλλο extension το 108 δεν ακουγεται ο ηχος του fax καμια ιδεα?
  38. Μηνύματα
    12
    Εμφανίσεις
    5.202

    Απάντηση: κλήσεις φαντάσματα στο extension μου..

    με μπερδεψατε :P

    chan_extra.conf:

    ;
    ; DAHDI telephony
    ;
    ; Configuration file
    ;
    ; You need to restart Asterisk to re-configure the DAHDI channel
    ; CLI> module reload chan_dahdi.so
    ; will reload the configuration file,
    ; but not all configuration options are
    ; re-configured during a reload (signalling, as well as
    ; PRI and SS7-related settings cannot be changed on a
    ; reload.
    ;
    ; This file documents many configuration variables. Normally unless you
    ; know what a variable means or that it should be changed, there's no
    ; reason to unrem lines.
    ;
    ; remmed-out examples below (those lines that begin with a ';' but no
    ; space afterwards) typically show a value that is not the defauult value,
    ; but would make sense under cetain circumstances. The default values
    ; are usually sane. Thus you should typically not touch them unless you
    ; know what they mean or you know you should change them.



    ;
    ; Trunk groups are used for NFAS or GR-303 connections.
    ;
    ; Group: Defines a trunk group.
    ; trunkgroup => ,
    ;
    ; trunkgroup is the numerical trunk group to create
    ; dchannel is the DAHDI channel which will have the
    ; d-channel for the trunk.
    ; backup1 is an optional list of backup d-channels.
    ;
    ;trunkgroup => 1,24,48
    ;trunkgroup => 1,24
    ;
    ; Spanmap: Associates a span with a trunk group
    ; spanmap => ,
    ;
    ; dahdispan is the DAHDI span number to associate
    ; trunkgroup is the trunkgroup (specified above) for the mapping
    ; logicalspan is the logical span number within the trunk group to use.
    ; if unspecified, no logical span number is used.
    ;
    ;spanmap => 1,1,1
    ;spanmap => 2,1,2
    ;spanmap => 3,1,3
    ;spanmap => 4,1,4


    ;
    ; Default language
    ;
    ;language=en
    ;
    ; Context for calls. Defaults to 'default'
    ;
    ;context=incoming
    ;
    ; Switchtype: Only used for PRI.
    ;
    ; national: National ISDN 2 (default)
    ; dms100: Nortel DMS100
    ; 4ess: AT&T 4ESS
    ; 5ess: Lucent 5ESS
    ; euroisdn: EuroISDN (common in Europe)
    ; ni1: Old National ISDN 1
    ; qsig: Q.SIG
    ;
    ;switchtype=euroisdn
    ;
    ; Some switches (AT&T especially) require network specific facility IE
    ; supported values are currently 'none', 'sdn', 'megacom', 'tollfreemegacom', 'accunet'
    ;
    ; nsf cannot be changed on a reload.
    ;
    ;nsf=none
    ;
    ; PRI Dialplan: The ISDN-level Type Of Number (TON) or numbering plan, used for
    ; the dialed number. For most installations, leaving this as 'unknown' (the
    ; default) works in the most cases. In some very unusual circumstances, you
    ; may need to set this to 'dynamic' or 'redundant'. Note that if you set one
    ; of the others, you will be unable to dial another class of numbers. For
    ; example, if you set 'national', you will be unable to dial local or
    ; international numbers.
    ;
    ; PRI Local Dialplan: Only RARELY used for PRI (sets the calling number's
    ; numbering plan). In North America, the typical use is sending the 10 digit
    ; callerID number and setting the prilocaldialplan to 'national' (the default).
    ; Only VERY rarely will you need to change this.
    ;
    ; Neither pridialplan nor prilocaldialplan can be changed on reload.
    ;
    ; unknown: Unknown
    ; private: Private ISDN
    ; local: Local ISDN
    ; national: National ISDN
    ; international: International ISDN
    ; dynamic: Dynamically selects the appropriate dialplan
    ; redundant: Same as dynamic, except that the underlying number is not
    ; changed (not common)
    ;
    ;pridialplan=unknown
    ;prilocaldialplan=national
    ;
    ; pridialplan may be also set at dialtime, by prefixing the dialled number with
    ; one of the following letters:
    ; U - Unknown
    ; I - International
    ; N - National
    ; L - Local (Net Specific)
    ; S - Subscriber
    ; V - Abbreviated
    ; R - Reserved (should probably never be used but is included for completeness)
    ;
    ; Additionally, you may also set the following NPI bits (also by prefixing the
    ; dialled string with one of the following letters):
    ; u - Unknown
    ; e - E.163/E.164 (ISDN/telephony)
    ; x - X.121 (Data)
    ; f - F.69 (Telex)
    ; n - National
    ; p - Private
    ; r - Reserved (should probably never be used but is included for completeness)
    ;
    ; You may also set the prilocaldialplan in the same way, but by prefixing the
    ; Caller*ID Number, rather than the dialled number. Please note that telcos
    ; which require this kind of additional manipulation of the TON/NPI are *rare*.
    ; Most telco PRIs will work fine simply by setting pridialplan to unknown or
    ; dynamic.
    ;
    ;
    ; PRI caller ID prefixes based on the given TON/NPI (dialplan)
    ; This is especially needed for EuroISDN E1-PRIs
    ;
    ; None of the prefix settings can be changed on reload.
    ;
    ; sample 1 for Germany
    ;internationalprefix = 00
    ;nationalprefix = 0
    ;localprefix = 0711
    ;privateprefix = 07115678
    ;unknownprefix =
    ;
    ; sample 2 for Germany
    ;internationalprefix = +
    ;nationalprefix = +49
    ;localprefix = +49711
    ;privateprefix = +497115678
    ;unknownprefix =
    ;
    ; PRI resetinterval: sets the time in seconds between restart of unused
    ; B channels; defaults to 'never'.
    ;
    ;resetinterval = 3600
    ;
    ; Overlap dialing mode (sending overlap digits)
    ; Cannot be changed on a reload.
    ;
    ; incoming: incoming direction only
    ; outgoing: outgoing direction only
    ; no: neither direction
    ; yes or both: both directions
    ;
    ;overlapdial=yes
    ;
    ; Allow inband audio (progress) when a call is RELEASEd by the far end of a PRI
    ;
    ;inbanddisconnect=yes
    ;
    ; PRI Out of band indications.
    ; Enable this to report Busy and Congestion on a PRI using out-of-band
    ; notification. Inband indication, as used by Asterisk doesn't seem to work
    ; with all telcos.
    ;
    ; outofband: Signal Busy/Congestion out of band with RELEASE/DISCONNECT
    ; inband: Signal Busy/Congestion using in-band tones (default)
    ;
    ; priindication cannot be changed on a reload.
    ;
    ;priindication = outofband
    ;
    ; If you need to override the existing channels selection routine and force all
    ; PRI channels to be marked as exclusively selected, set this to yes.
    ;
    ; priexclusive cannot be changed on a reload.
    ;
    ;priexclusive = yes
    ;
    ; ISDN Timers
    ; All of the ISDN timers and counters that are used are configurable. Specify
    ; the timer name, and its value (in ms for timers).
    ; K: Layer 2 max number of outstanding unacknowledged I frames (default 7)
    ; N200: Layer 2 max number of retransmissions of a frame (default 3)
    ; T200: Layer 2 max time before retransmission of a frame (default 1000 ms)
    ; T203: Layer 2 max time without frames being exchanged (default 10000 ms)
    ; T305: Wait for DISCONNECT acknowledge (default 30000 ms)
    ; T308: Wait for RELEASE acknowledge (default 4000 ms)
    ; T309: Maintain active calls on Layer 2 disconnection (default -1,
    ; Asterisk clears calls)
    ; EuroISDN: 6000 to 12000 ms, according to (N200 + 1) x T200 + 2s
    ; May vary in other ISDN standards (Q.931 1993 : 90000 ms)
    ; T313: Wait for CONNECT acknowledge, CPE side only (default 3000 ms)
    ;
    ;pritimer => t200,1000
    ;pritimer => t313,4000
    ;
    ; To enable transmission of facility-based ISDN supplementary services (such
    ; as caller name from CPE over facility), enable this option.
    ; Cannot be changed on a reload.
    ;
    ;facilityenable = yes
    ;
    ; pritimer cannot be changed on a reload.
    ;
    ; Signalling method. The default is "auto". Valid values:
    ; auto: Use the current value from DAHDI.
    ; em: E & M
    ; em_e1: E & M E1
    ; em_w: E & M Wink
    ; featd: Feature Group D (The fake, Adtran style, DTMF)
    ; featdmf: Feature Group D (The real thing, MF (domestic, US))
    ; featdmf_ta: Feature Group D (The real thing, MF (domestic, US)) through
    ; a Tandem Access point
    ; featb: Feature Group B (MF (domestic, US))
    ; fgccama Feature Group C-CAMA (DP DNIS, MF ANI)
    ; fgccamamf Feature Group C-CAMA MF (MF DNIS, MF ANI)
    ; fxs_ls: FXS (Loop Start)
    ; fxs_gs: FXS (Ground Start)
    ; fxs_ks: FXS (Kewl Start)
    ; fxo_ls: FXO (Loop Start)
    ; fxo_gs: FXO (Ground Start)
    ; fxo_ks: FXO (Kewl Start)
    ; pri_cpe: PRI signalling, CPE side
    ; pri_net: PRI signalling, Network side
    ; gr303fxoks_net: GR-303 Signalling, FXO Loopstart, Network side
    ; gr303fxsks_cpe: GR-303 Signalling, FXS Loopstart, CPE side
    ; sf: SF (Inband Tone) Signalling
    ; sf_w: SF Wink
    ; sf_featd: SF Feature Group D (The fake, Adtran style, DTMF)
    ; sf_featdmf: SF Feature Group D (The real thing, MF (domestic, US))
    ; sf_featb: SF Feature Group B (MF (domestic, US))
    ; e911: E911 (MF) style signalling
    ; ss7: Signalling System 7
    ;
    ; The following are used for Radio interfaces:
    ; fxs_rx: Receive audio/COR on an FXS kewlstart interface (FXO at the
    ; channel bank)
    ; fxs_tx: Transmit audio/PTT on an FXS loopstart interface (FXO at the
    ; channel bank)
    ; fxo_rx: Receive audio/COR on an FXO loopstart interface (FXS at the
    ; channel bank)
    ; fxo_tx: Transmit audio/PTT on an FXO groundstart interface (FXS at
    ; the channel bank)
    ; em_rx: Receive audio/COR on an E&M interface (1-way)
    ; em_tx: Transmit audio/PTT on an E&M interface (1-way)
    ; em_txrx: Receive audio/COR AND Transmit audio/PTT on an E&M interface
    ; (2-way)
    ; em_rxtx: Same as em_txrx (for our dyslexic friends)
    ; sf_rx: Receive audio/COR on an SF interface (1-way)
    ; sf_tx: Transmit audio/PTT on an SF interface (1-way)
    ; sf_txrx: Receive audio/COR AND Transmit audio/PTT on an SF interface
    ; (2-way)
    ; sf_rxtx: Same as sf_txrx (for our dyslexic friends)
    ; ss7: Signalling System 7
    ;
    ; signalling of a channel can not be changed on a reload.
    ;
    ;signalling=fxo_ls
    ;
    ; If you have an outbound signalling format that is different from format
    ; specified above (but compatible), you can specify outbound signalling format,
    ; (see below). The 'signalling' format specified will be the inbound signalling
    ; format. If you only specify 'signalling', then it will be the format for
    ; both inbound and outbound.
    ;
    ; outsignalling can only be one of:
    ; em, em_e1, em_w, sf, sf_w, sf_featd, sf_featdmf, sf_featb, featd,
    ; featdmf, featdmf_ta, e911, fgccama, fgccamamf
    ;
    ; outsignalling cannot be changed on a reload.
    ;
    ;signalling=featdmf
    ;
    ;outsignalling=featb
    ;
    ; For Feature Group D Tandem access, to set the default CIC and OZZ use these
    ; parameters (Will not be updated on reload):
    ;
    ;defaultozz=0000
    ;defaultcic=303
    ;
    ; A variety of timing parameters can be specified as well
    ; The default values for those are "-1", which is to use the
    ; compile-time defaults of the DAHDI kernel modules. The timing
    ; parameters, (with the standard default from DAHDI):
    ;
    ; prewink: Pre-wink time (default 50ms)
    ; preflash: Pre-flash time (default 50ms)
    ; wink: Wink time (default 150ms)
    ; flash: Flash time (default 750ms)
    ; start: Start time (default 1500ms)
    ; rxwink: Receiver wink time (default 300ms)
    ; rxflash: Receiver flashtime (default 1250ms)
    ; debounce: Debounce timing (default 600ms)
    ;
    ; None of them will update on a reload.
    ;
    ; How long generated tones (DTMF and MF) will be played on the channel
    ; (in milliseconds).
    ;
    ; This is a global, rather than a per-channel setting. It will not be
    ; updated on a reload.
    ;
    ;toneduration=100
    ;
    ; Whether or not to do distinctive ring detection on FXO lines:
    ;
    ;usedistinctiveringdetection=yes
    ;
    ; enable dring detection after caller ID for those countries like Australia
    ; where the ring cadence is changed *after* the caller ID spill:
    ;
    ;distinctiveringaftercid=yes
    ;
    ; Whether or not to use caller ID:
    ;
    usecallerid=yes
    ;
    ; Hide the name part and leave just the number part of the caller ID
    ; string. Only applies to PRI channels.
    ;hidecalleridname=yes
    ;
    ; Type of caller ID signalling in use
    ; bell = bell202 as used in US (default)
    ; v23 = v23 as used in the UK
    ; v23_jp = v23 as used in Japan
    ; dtmf = DTMF as used in Denmark, Sweden and Netherlands
    ; smdi = Use SMDI for caller ID. Requires SMDI to be enabled (usesmdi).
    ;
    ;cidsignalling=v23
    ;
    ; What signals the start of caller ID
    ; ring = a ring signals the start (default)
    ; polarity = polarity reversal signals the start
    ; polarity_IN = polarity reversal signals the start, for India,
    ; for dtmf dialtone detection; using DTMF.
    ; (see doc/India-CID.txt)
    ;
    ;cidstart=polarity
    ;
    ; Whether or not to hide outgoing caller ID (Override with *67 or *82)
    ; (If your dialplan doesn't catch it)
    ;
    ;hidecallerid=yes
    ;
    ; The following option enables receiving MWI on FXO lines. The default
    ; value is no.
    ; The mwimonitor can take the following values
    ; no - No mwimonitoring occurs. (default)
    ; yes - The same as specifying fsk
    ; fsk - the FXO line is monitored for MWI FSK spills
    ; fsk,rpas - the FXO line is monitored for MWI FSK spills preceded
    ; by a ring pulse alert signal.
    ; neon - The fxo line is monitored for the presence of NEON pulses
    ; indicating MWI.
    ; When detected, an internal Asterisk MWI event is generated so that any other
    ; part of Asterisk that cares about MWI state changes is notified, just as if
    ; the state change came from app_voicemail.
    ; For FSK MWI Spills, the energy level that must be seen before starting the
    ; MWI detection process can be set with 'mwilevel'.
    ;
    ;mwimonitor=no
    ;mwilevel=512
    ;
    ; This option is used in conjunction with mwimonitor. This will get executed
    ; when incoming MWI state changes. The script is passed 2 arguments. The
    ; first is the corresponding mailbox, and the second is 1 or 0, indicating if
    ; there are messages waiting or not.
    ;
    ;mwimonitornotify=/usr/local/bin/dahdinotify.sh
    ;
    ; Whether or not to enable call waiting on internal extensions
    ; With this set to 'yes', busy extensions will hear the call-waiting
    ; tone, and can use hook-flash to switch between callers. The Dial()
    ; app will not return the "BUSY" result for extensions.
    ;
    callwaiting=yes
    ;
    ; Whether or not restrict outgoing caller ID (will be sent as ANI only, not
    ; available for the user)
    ; Mostly use with FXS ports
    ; Does nothing. Use hidecallerid instead.
    ;
    ;restrictcid=no
    ;
    ; Whether or not to use the caller ID presentation from the Asterisk channel
    ; for outgoing calls.
    ; See dialplan function CALLERID(pres) for more information.
    ; Only applies to PRI and SS7 channels.
    ;
    usecallingpres=yes
    ;
    ; Some countries (UK) have ring tones with different ring tones (ring-ring),
    ; which means the caller ID needs to be set later on, and not just after
    ; the first ring, as per the default (1).
    ;
    ;sendcalleridafter = 2
    ;
    ;
    ; Support caller ID on Call Waiting
    ;
    callwaitingcallerid=yes
    ;
    ; Support three-way calling
    ;
    threewaycalling=yes
    ;
    ; For FXS ports (either direct analog or over T1/E1):
    ; Support flash-hook call transfer (requires three way calling)
    ; Also enables call parking (overrides the 'canpark' parameter)
    ;
    ; For digital ports using ISDN PRI protocols:
    ; Support switch-side transfer (called 2BCT, RLT or other names)
    ; This setting must be enabled on both ports involved, and the
    ; 'facilityenable' setting must also be enabled to allow sending
    ; the transfer to the ISDN switch, since it sent in a FACILITY
    ; message.
    ;
    transfer=yes
    ;
    ; Allow call parking
    ; ('canpark=no' is overridden by 'transfer=yes')
    ;
    canpark=yes
    ;
    ; Support call forward variable
    ;
    cancallforward=yes
    ;
    ; Whether or not to support Call Return (*69, if your dialplan doesn't
    ; catch this first)
    ;
    callreturn=yes
    ;
    ; Stutter dialtone support: If a mailbox is specified without a voicemail
    ; context, then when voicemail is received in a mailbox in the default
    ; voicemail context in voicemail.conf, taking the phone off hook will cause a
    ; stutter dialtone instead of a normal one.
    ;
    ; If a mailbox is specified *with* a voicemail context, the same will result
    ; if voicemail received in mailbox in the specified voicemail context.
    ;
    ; for default voicemail context, the example below is fine:
    ;
    ;mailbox=1234
    ;
    ; for any other voicemail context, the following will produce the stutter tone:
    ;
    ;mailbox=1234@context
    ;
    ; Enable echo cancellation
    ; Use either "yes", "no", or a power of two from 32 to 256 if you wish to
    ; actually set the number of taps of cancellation.
    ;
    ; Note that when setting the number of taps, the number 256 does not translate
    ; to 256 ms of echo cancellation. echocancel=256 means 256 / 8 = 32 ms.
    ;
    ; Note that if any of your DAHDI cards have hardware echo cancellers,
    ; then this setting only turns them on and off; numeric settings will
    ; be treated as "yes". There are no special settings required for
    ; hardware echo cancellers; when present and enabled in their kernel
    ; modules, they take precedence over the software echo canceller compiled
    ; into DAHDI automatically.
    ;
    ;
    echocancel=yes
    ;
    ; Some DAHDI echo cancellers (software and hardware) support adjustable
    ; parameters; these parameters can be supplied as additional options to
    ; the 'echocancel' setting. Note that Asterisk does not attempt to
    ; validate the parameters or their values, so if you supply an invalid
    ; parameter you will not know the specific reason it failed without
    ; checking the kernel message log for the error(s) put there by DAHDI.
    ;
    ;echocancel=128,param1=32,param2=0,param3=14
    ;
    ; Generally, it is not necessary (and in fact undesirable) to echo cancel when
    ; the circuit path is entirely TDM. You may, however, change this behavior
    ; by enabling the echo canceller during pure TDM bridging below.
    ;
    echocancelwhenbridged=yes
    ;
    ; In some cases, the echo canceller doesn't train quickly enough and there
    ; is echo at the beginning of the call. Enabling echo training will cause
    ; DAHDI to briefly mute the channel, send an impulse, and use the impulse
    ; response to pre-train the echo canceller so it can start out with a much
    ; closer idea of the actual echo. Value may be "yes", "no", or a number of
    ; milliseconds to delay before training (default = 400)
    ;
    ; WARNING: In some cases this option can make echo worse! If you are
    ; trying to debug an echo problem, it is worth checking to see if your echo
    ; is better with the option set to yes or no. Use whatever setting gives
    ; the best results.
    ;
    ; Note that these parameters do not apply to hardware echo cancellers.
    ;
    ;echotraining=yes
    ;echotraining=800
    ;
    ; If you are having trouble with DTMF detection, you can relax the DTMF
    ; detection parameters. Relaxing them may make the DTMF detector more likely
    ; to have "talkoff" where DTMF is detected when it shouldn't be.
    ;
    ;relaxdtmf=yes
    ;
    ; You may also set the default receive and transmit gains (in dB)
    ;
    ; Gain Settings: increasing / decreasing the volume level on a channel.
    ; The values are in db (decibells). A positive number
    ; increases the volume level on a channel, and a
    ; negavive value decreases volume level.
    ;
    ; There are several independent gain settings:
    ; rxgain: gain for the rx (receive - into Asterisk) channel. Default: 0.0
    ; txgain: gain for the tx (transmit - out of Asterisk Asterisk) channel.
    ; Default: 0.0
    ; cid_rxgain: set the gain just for the caller ID sounds Asterisk
    ; emits. Default: 5.0 .

    ;rxgain=2.0
    ;txgain=3.0
    ;
    ; Logical groups can be assigned to allow outgoing roll-over. Groups range
    ; from 0 to 63, and multiple groups can be specified. By default the
    ; channel is not a member of any group.
    ;
    ; Note that an explicit empty value for 'group' is invalid, and will not
    ; override a previous non-empty one. The same applies to callgroup and
    ; pickupgroup as well.
    ;
    group=1
    ;
    ; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing
    ; and it is a member of a group which is one of your pickup groups, then
    ; you can answer it by picking up and dialing *8#. For simple offices, just
    ; make these both the same. Groups range from 0 to 63.
    ;
    callgroup=1
    pickupgroup=1

    ; Channel variable to be set for all calls from this channel
    ;setvar=CHANNEL=42
    ;setvar=ATTENDED_TRANSFER_COMPLETE_SOUND=beep ; This channel variable will
    ; cause the given audio file to
    ; be played upon completion of
    ; an attended transfer.

    ;
    ; Specify whether the channel should be answered immediately or if the simple
    ; switch should provide dialtone, read digits, etc.
    ; Note: If immediate=yes the dialplan execution will always start at extension
    ; 's' priority 1 regardless of the dialed number!
    ;
    ;immediate=yes
    ;
    ; Specify whether flash-hook transfers to 'busy' channels should complete or
    ; return to the caller performing the transfer (default is yes).
    ;
    ;transfertobusy=no
    ;
    ; caller ID can be set to "asreceived" or a specific number if you want to
    ; override it. Note that "asreceived" only applies to trunk interfaces.
    ; fullname sets just the
    ;
    ; fullname: sets just the name part.
    ; cid_number: sets just the number part:
    ;
    ;callerid = 123456
    ;
    ;callerid = My Name <2564286000>
    ; Which can also be written as:
    ;cid_number = 2564286000
    ;fullname = My Name
    ;
    ;callerid = asreceived
    ;
    ; should we use the caller ID from incoming call on DAHDI transfer?
    ;
    ;useincomingcalleridondahditransfer = yes
    ;
    ; AMA flags affects the recording of Call Detail Records. If specified
    ; it may be 'default', 'omit', 'billing', or 'documentation'.
    ;
    ;amaflags=default
    ;
    ; Channels may be associated with an account code to ease
    ; billing
    ;
    ;accountcode=lss0101
    ;
    ; ADSI (Analog Display Services Interface) can be enabled on a per-channel
    ; basis if you have (or may have) ADSI compatible CPE equipment
    ;
    ;adsi=yes
    ;
    ; SMDI (Simplified Message Desk Interface) can be enabled on a per-channel
    ; basis if you would like that channel to behave like an SMDI message desk.
    ; The SMDI port specified should have already been defined in smdi.conf. The
    ; default port is /dev/ttyS0.
    ;
    ;usesmdi=yes
    ;smdiport=/dev/ttyS0
    ;
    ; On trunk interfaces (FXS) and E&M interfaces (E&M, Wink, Feature Group D
    ; etc, it can be useful to perform busy detection either in an effort to
    ; detect hangup or for detecting busies. This enables listening for
    ; the beep-beep busy pattern.
    ;
    ;busydetect=yes
    ;
    ; If busydetect is enabled, it is also possible to specify how many busy tones
    ; to wait for before hanging up. The default is 3, but it might be
    ; safer to set to 6 or even 8. Mind that the higher the number, the more
    ; time that will be needed to hangup a channel, but lowers the probability
    ; that you will get random hangups.
    ;
    ;busycount=6
    ;
    ; If busydetect is enabled, it is also possible to specify the cadence of your
    ; busy signal. In many countries, it is 500msec on, 500msec off. Without
    ; busypattern specified, we'll accept any regular sound-silence pattern that
    ; repeats times as a busy signal. If you specify busypattern,
    ; then we'll further check the length of the sound (tone) and silence, which
    ; will further reduce the chance of a false positive.
    ;
    ;busypattern=500,500
    ;
    ; NOTE: In make menuselect, you'll find further options to tweak the busy
    ; detector. If your country has a busy tone with the same length tone and
    ; silence (as many countries do), consider enabling the
    ; BUSYDETECT_COMPARE_TONE_AND_SILENCE option.
    ;
    ; To further detect which hangup tone your telco provider is sending, it is
    ; useful to use the ztmonitor utility to record the audio that main/dsp.c
    ; is receiving after the caller hangs up.
    ;
    ; Use a polarity reversal to mark when a outgoing call is answered by the
    ; remote party.
    ;
    ;answeronpolarityswitch=yes
    ;
    ; In some countries, a polarity reversal is used to signal the disconnect of a
    ; phone line. If the hanguponpolarityswitch option is selected, the call will
    ; be considered "hung up" on a polarity reversal.
    ;
    ;hanguponpolarityswitch=yes
    ;
    ; polarityonanswerdelay: minimal time period (ms) between the answer
    ; polarity switch and hangup polarity switch.
    ; (default: 600ms)
    ;
    ; On trunk interfaces (FXS) it can be useful to attempt to follow the progress
    ; of a call through RINGING, BUSY, and ANSWERING. If turned on, call
    ; progress attempts to determine answer, busy, and ringing on phone lines.
    ; This feature is HIGHLY EXPERIMENTAL and can easily detect false answers,
    ; so don't count on it being very accurate.
    ;
    ; Few zones are supported at the time of this writing, but may be selected
    ; with "progzone".
    ;
    ; progzone also affects the pattern used for buzydetect (unless
    ; busypattern is set explicitly). The possible values are:
    ; us (default)
    ; ca (alias for 'us')
    ; cr (Costa Rica)
    ; br (Brazil, alias for 'cr')
    ; uk
    ;
    ; This feature can also easily detect false hangups. The symptoms of this is
    ; being disconnected in the middle of a call for no reason.
    ;
    ;callprogress=yes
    ;progzone=uk
    ;
    ; Set the tonezone. Equivalent of the defaultzone settings in
    ; /etc/dahdi/system.conf. This sets the tone zone by number.
    ; Note that you'd still need to load tonezones (loadzone in
    ; /etc/dahdi/system.conf).
    ; The default is -1: not to set anything.
    ;tonezone = 0 ; 0 is US
    ;
    ; FXO (FXS signalled) devices must have a timeout to determine if there was a
    ; hangup before the line was answered. This value can be tweaked to shorten
    ; how long it takes before DAHDI considers a non-ringing line to have hungup.
    ;
    ; ringtimeout will not update on a reload.
    ;
    ;ringtimeout=8000
    ;
    ; For FXO (FXS signalled) devices, whether to use pulse dial instead of DTMF
    ; Pulse digits from phones (FXS devices, FXO signalling) are always
    ; detected.
    ;
    ;pulsedial=yes
    ;
    ; For fax detection, uncomment one of the following lines. The default is *OFF*
    ;
    ;faxdetect=both
    ;faxdetect=incoming
    ;faxdetect=outgoing
    ;faxdetect=no
    ;
    ; This option specifies a preference for which music on hold class this channel
    ; should listen to when put on hold if the music class has not been set on the
    ; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer
    ; channel putting this one on hold did not suggest a music class.
    ;
    ; If this option is set to "passthrough", then the hold message will always be
    ; passed through as signalling instead of generating hold music locally. This
    ; setting is only valid when used on a channel that uses digital signalling.
    ;
    ; This option may be set globally or on a per-channel basis.
    ;
    ;mohinterpret=default
    ;
    ; This option specifies which music on hold class to suggest to the peer channel
    ; when this channel places the peer on hold. This option may be set globally,
    ; or on a per-channel basis.
    ;
    ;mohsuggest=default
    ;
    ; PRI channels can have an idle extension and a minunused number. So long as
    ; at least "minunused" channels are idle, chan_dahdi will try to call "idledial"
    ; on them, and then dump them into the PBX in the "idleext" extension (which
    ; is of the form exten@context). When channels are needed the "idle" calls
    ; are disconnected (so long as there are at least "minidle" calls still
    ; running, of course) to make more channels available. The primary use of
    ; this is to create a dynamic service, where idle channels are bundled through
    ; multilink PPP, thus more efficiently utilizing combined voice/data services
    ; than conventional fixed mappings/muxings.
    ;
    ; Those settings cannot be changed on reload.
    ;
    ;idledial=6999
    ;idleext=6999@dialout
    ;minunused=2
    ;minidle=1
    ;
    ; Configure jitter buffers in DAHDI (each one is 20ms, default is 4)
    ; This is set globally, rather than per-channel.
    ;
    ;jitterbuffers=4
    ;
    ;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
    ; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
    ; DAHDI channel. Defaults to "no". An enabled jitterbuffer will
    ; be used only if the sending side can create and the receiving
    ; side can not accept jitter. The DAHDI channel can't accept jitter,
    ; thus an enabled jitterbuffer on the receive DAHDI side will always
    ; be used if the sending side can create jitter.

    ; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.

    ; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
    ; resynchronized. Useful to improve the quality of the voice, with
    ; big jumps in/broken timestamps, usually sent from exotic devices
    ; and programs. Defaults to 1000.

    ; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a DAHDI
    ; channel. Two implementations are currently available - "fixed"
    ; (with size always equals to jbmax-size) and "adaptive" (with
    ; variable size, actually the new jb of IAX2). Defaults to fixed.

    ; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
    ;-----------------------------------------------------------------------------------
    ;
    ; You can define your own custom ring cadences here. You can define up to 8
    ; pairs. If the silence is negative, it indicates where the caller ID spill is
    ; to be placed. Also, if you define any custom cadences, the default cadences
    ; will be turned off.
    ;
    ; This setting is global, rather than per-channel. It will not update on
    ; a reload.
    ;
    ; Syntax is: cadence=ring,silence]
    ;
    ; These are the default cadences:
    ;
    ;cadence=125,125,2000,-4000
    ;cadence=250,250,500,1000,250,250,500,-4000
    ;cadence=125,125,125,125,125,-4000
    ;cadence=1000,500,2500,-5000
    ;
    ; Each channel consists of the channel number or range. It inherits the
    ; parameters that were specified above its declaration.
    ;
    ; For GR-303, CRV's are created like channels except they must start with the
    ; trunk group followed by a colon, e.g.:
    ;
    ; crv => 1:1
    ; crv => 2:1-2,5-8
    ;
    ;
    ;callerid="Green Phone"<(256) 428-6121>
    ;channel => 1
    ;callerid="Black Phone"<(256) 428-6122>
    ;channel => 2
    ;callerid="CallerID Phone" <(630) 372-1564>
    ;channel => 3
    ;callerid="Pac Tel Phone" <(256) 428-6124>
    ;channel => 4
    ;callerid="Uniden Dead" <(256) 428-6125>
    ;channel => 5
    ;callerid="Cortelco 2500" <(256) 428-6126>
    ;channel => 6
    ;callerid="Main TA 750" <(256) 428-6127>
    ;channel => 44
    ;
    ; For example, maybe we have some other channels which start out in a
    ; different context and use E & M signalling instead.
    ;
    ;context=remote
    ;signaling=em
    ;channel => 15
    ;channel => 16

    ;signalling=em_w
    ;
    ; All those in group 0 I'll use for outgoing calls
    ;
    ; Strip most significant digit (9) before sending
    ;
    ;stripmsd=1
    ;callerid=asreceived
    ;group=0
    ;signalling=fxs_ls
    ;channel => 45

    ;signalling=fxo_ls
    ;group=1
    ;callerid="Joe Schmoe" <(256) 428-6131>
    ;channel => 25
    ;callerid="Megan May" <(256) 428-6132>
    ;channel => 26
    ;callerid="Suzy Queue" <(256) 428-6233>
    ;channel => 27
    ;callerid="Larry Moe" <(256) 428-6234>
    ;channel => 28
    ;
    ; Sample PRI (CPE) config: Specify the switchtype, the signalling as either
    ; pri_cpe or pri_net for CPE or Network termination, and generally you will
    ; want to create a single "group" for all channels of the PRI.
    ;
    ; switchtype cannot be changed on a reload.
    ;
    ; switchtype = national
    ; signalling = pri_cpe
    ; group = 2
    ; channel => 1-23

    ;

    ; Used for distinctive ring support for x100p.
    ; You can see the dringX patterns is to set any one of the dringXcontext fields
    ; and they will be printed on the console when an inbound call comes in.
    ;
    ; dringXrange is used to change the acceptable ranges for "tone offsets". Defaults to 10.
    ; Note: a range of 0 is NOT what you might expect - it instead forces it to the default.
    ; A range of -1 will force it to always match.
    ; Anything lower than -1 would presumably cause it to never match.
    ;
    ;dring1=95,0,0
    ;dring1context=internal1
    ;dring1range=10
    ;dring2=325,95,0
    ;dring2context=internal2
    ;dring2range=10
    ; If no pattern is matched here is where we go.
    ;context=default
    ;channel => 1

    ; ---------------- Options for use with signalling=ss7 -----------------
    ; None of them can be changed by a reload.
    ;
    ; Variant of SS7 signalling:
    ; Options are itu and ansi
    ;ss7type = itu

    ; SS7 Called Nature of Address Indicator
    ;
    ; unknown: Unknown
    ; subscriber: Subscriber
    ; national: National
    ; international: International
    ; dynamic: Dynamically selects the appropriate dialplan
    ;
    ;ss7_called_nai=dynamic
    ;
    ; SS7 Calling Nature of Address Indicator
    ;
    ; unknown: Unknown
    ; subscriber: Subscriber
    ; national: National
    ; international: International
    ; dynamic: Dynamically selects the appropriate dialplan
    ;
    ;ss7_calling_nai=dynamic
    ;
    ;
    ; sample 1 for Germany
    ;ss7_internationalprefix = 00
    ;ss7_nationalprefix = 0
    ;ss7_subscriberprefix =
    ;ss7_unknownprefix =
    ;

    ; This option is used to disable automatic sending of ACM when the call is started
    ; in the dialplan. If you do use this option, you will need to use the Proceeding()
    ; application in the dialplan to send ACM.
    ;ss7_explictacm=yes

    ; All settings apply to linkset 1
    ;linkset = 1

    ; Point code of the linkset. For ITU, this is the decimal number
    ; format of the point code. For ANSI, this can either be in decimal
    ; number format or in the xxx-xxx-xxx format
    ;pointcode = 1

    ; Point code of node adjacent to this signalling link (Possibly the STP between you and
    ; your destination). Point code format follows the same rules as above.
    ;adjpointcode = 2

    ; Default point code that you would like to assign to outgoing messages (in case of
    ; routing through STPs, or using A links). Point code format follows the same rules
    ; as above.
    ;defaultdpc = 3

    ; Begin CIC (Circuit indication codes) count with this number
    ;cicbeginswith = 1

    ; What the MTP3 network indicator bits should be set to. Choices are
    ; national, national_spare, international, international_spare
    ;networkindicator=international

    ; First signalling channel
    ;sigchan = 48

    ; Additional signalling channel for this linkset (So you can have a linkset
    ; with two signalling links in it). It seems like a silly way to do it, but
    ; for linksets with multiple signalling links, you add an additional sigchan
    ; line for every additional signalling link on the linkset.
    ;sigchan = 96

    ; Channels to associate with CICs on this linkset
    ;channel = 25-47
    ;
    ; For more information on setting up SS7, see the README file in libss7 or
    ; the doc/ss7.txt file in the Asterisk source tree.
    ; ----------------- SS7 Options ----------------------------------------

    ; Configuration Sections
    ; ~~~~~~~~~~~~~~~~~~~~~~
    ; You can also configure channels in a separate chan_dahdi.conf section. In
    ; this case the keyword 'channel' is not used. Instead the keyword
    ; 'dahdichan' is used (as in users.conf) - configuration is only processed
    ; in a section where the keyword dahdichan is used. It will only be
    ; processed in the end of the section. Thus the following section:
    ;
    ;
    ;echocancel = 64
    ;dahdichan = 1-8
    ;group = 1
    ;
    ; Is somewhat equivalent to the following snippet in the section
    ; :
    ;
    ;echocancel = 64
    ;group = 1
    ;channel => 1-8
    ;
    ; When starting a new section almost all of the configuration values are
    ; copied from their values at the end of the section in
    ; chan_dahdi.conf and in users.conf - one section's configuration
    ; does not affect another one's.
    ;
    ; Instead of letting common configuration values "slide through" you can
    ; use configuration templates to easily keep the common part in one
    ; place and override where needed.
    ;
    ;(!)
    ;echocancel = yes
    ;group = 0,4
    ;callgroup = 3
    ;pickupgroup = 3
    ;threewaycalling = yes
    ;transfer = yes
    ;context = phones
    ;faxdetect = incoming
    ;
    ;(phones)
    ;dahdichan = 1
    ;callerid = My Name <501>
    ;mailbox = 501@mailboxes
    ;
    ;
    ;(phones)
    ;dahdichan = 2
    ;faxdetect = no
    ;context = fax
    ;
    ;(phones)
    ;dahdichan = 3
    ;pickupgroup = 3,4

    #include extra-channels.conf

    extensions.conf:

    ;--------------------------------------------------------------------------------;
    ; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
    ; this file must be done via the web gui. There are alternative files to make ;
    ; custom modifications, details at: http://freepbx.org/configuration_files ;
    ;--------------------------------------------------------------------------------;
    ;
    ; This file is part of FreePBX.
    ;
    ; FreePBX is free software: you can redistribute it and/or modify
    ; it under the terms of the GNU General Public License as published by
    ; the Free Software Foundation, either version 2 of the License, or
    ; (at your option) any later version.
    ;
    ; FreePBX is distributed in the hope that it will be useful,
    ; but WITHOUT ANY WARRANTY; without even the implied warranty of
    ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    ; GNU General Public License for more details.
    ;
    ; You should have received a copy of the GNU General Public License
    ; along with FreePBX. If not, see .
    ;
    ; Copyright (C) 2004 Coalescent Systems Inc (Canada)
    ; Copyright (C) 2006 Why Pay More 4 Less Pty Ltd (Australia)
    ; Copyright (C) 2007 Astrogen LLC (USA)

    ; dialparties.agi (http://www.sprackett.com/asterisk/)
    ; Asterisk::AGI (http://asterisk.gnuinter.net/)
    ; gsm (http://www.ibiblio.org/pub/Linux/utils/compress/!INDEX.short.html)
    ; loligo sounds (http://www.loligo.com/asterisk/sounds/)
    ; mpg123 (http://voip-info.org/wiki-Asterisk+config+musiconhold.conf)

    ;************************** -WARNING- ****************************************
    ; *
    ; This include file is to be used with extreme caution. In almost all cases *
    ; any custom dialplan SHOULD be put in extensions_custom.conf which will *
    ; not hurt a FreePBX generated dialplan. In some very rare and custom *
    ; situations users may have a need to override what FreePBX automatically *
    ; generates. If so anything in this file will do that. If you come up with a *
    ; situation where you need to modify the existing dialplan or macro, please *
    ; put it here and also notify the FreePBX development team so they can take it *
    ; into account in the future. *
    ; *
    #include extensions_override_freepbx.conf
    ; *
    ;************************** -WARNING- ****************************************

    ; include extension contexts generated from AMP
    #include extensions_additional.conf

    ; Customizations to this dialplan should be made in extensions_custom.conf
    ; See extensions_custom.conf.sample for an example.
    ; If you need to use , , or
    ; for example, place these in this file or they will get overwritten.
    ;
    #include extensions_custom.conf

    include => from-pstn


    include => from-dahdi

    ; just an alias since VoIP shouldn't be called PSTN
    include => from-pstn


    include => from-pstn-custom ; create this context in extensions_custom.conf to include customizations
    include => ext-did
    include => ext-did-post-custom
    include => from-did-direct ; MODIFICATION (PL) for findmefollow if enabled, should be before ext-local
    include => ext-did-catchall ; THIS MUST COME AFTER ext-did

    ;-------------------------------------------------------------------------------
    ; from-pstn-e164-us:
    ;
    ; The context is designed for providers who send calls in e164 format and is
    ; biased towards NPA calls, callerid and dialing rules. It will do the following:
    ;
    ; DIDs in an NPA e164 format of +1NXXNXXXXXX will be converted to 10 digit DIDs
    ;
    ; DIDs in any other format will be delivered as they are, including e164 non NPA
    ; DIDs which means they will need the full format including the + in the inbound
    ; route.
    ;
    ; CallerID(number) presented in e164 NPA format will be trimmed to a 10 digit CID
    ;
    ; CallerID(number) presented in e164 non-NPA (country code other than 1) will be
    ; reformated from: + to 011
    ;

    exten => _+1NXXNXXXXXX/_+1NXXNXXXXXX,1,Set(CALLERID(number)=${CALLERID(number):2})
    exten => _+1NXXNXXXXXX/_NXXNXXXXXX,2,Goto(from-pstn,${EXTEN:2},1)
    exten => _+1NXXNXXXXXX/_+X.,1,Set(CALLERID(number)=011${CALLERID(number):1})
    exten => _+1NXXNXXXXXX/_011X.,n,Goto(from-pstn,${EXTEN:2},1)
    exten => _+1NXXNXXXXXX,1,Goto(from-pstn,${EXTEN:2},1)
    exten => _./_+1NXXNXXXXXX,1,Set(CALLERID(number)=${CALLERID(number):2})
    exten => _./_NXXNXXXXXX,n,Goto(from-pstn,${EXTEN},1)
    exten => _./_+X.,1,Set(CALLERID(number)=011${CALLERID(number):1})
    exten => _./_011X.,n,Goto(from-pstn,${EXTEN},1)
    exten => _.,1,Goto(from-pstn,${EXTEN},1)
    exten => s/_+1NXXNXXXXXX,1,Set(CALLERID(number)=${CALLERID(number):2})
    exten => s/_NXXNXXXXXX,n,Goto(from-pstn,${EXTEN},1)
    exten => s/_+X.,1,Set(CALLERID(number)=011${CALLERID(number):1})
    exten => s/_011X.,n,Goto(from-pstn,${EXTEN},1)
    exten => s,1,Goto(from-pstn,${EXTEN},1)
    ;-------------------------------------------------------------------------------

    ;-------------------------------------------------------------------------------
    ; from-pstn-to-did
    ;
    ; The context is designed for providers who send the DID in the TO: SIP header
    ; only. The format of this header is:
    ;
    ; To:
    ;
    ; So the DID must be extracted between the sip: and the @, which this does
    ;

    exten => _.,1,Goto(from-pstn,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)
    ;-------------------------------------------------------------------------------


    ; MODIFICATION (PL)
    ;
    ; Required to assure that direct dids go to personal ring group before local extension.
    ; This could be auto-generated however I it is preferred to be put here and hard coded
    ; so that it can be modified if ext-local should take precedence in certain situations.
    ; will have to decide what to do later.
    ;

    include => ext-findmefollow
    include => ext-local


    ; ############################################################################
    ; Macros
    ; ############################################################################

    ; Rings one or more extensions. Handles things like call forwarding and DND
    ; We don't call dial directly for anything internal anymore.
    ; ARGS: $TIMER, $OPTIONS, $EXT1, $EXT2, $EXT3, ...
    ; Use a Macro call such as the following:
    ; Macro(dial,$DIAL_TIMER,$DIAL_OPTIONS,$EXT1,$EXT2,$EXT3,...)

    exten => s,1,GotoIf($?dial)
    exten => s,n,SetMusicOnHold(${MOHCLASS})
    exten => s,n(dial),AGI(dialparties.agi)
    exten => s,n,NoOp(Returned from dialparties with no extensions to call and DIALSTATUS: ${DIALSTATUS})

    exten => s,n+2(normdial),Dial(${ds}) ; dialparties will set the priority to 10 if $ds is not null
    exten => s,n,Set(DIALSTATUS=${IF($?${DIALSTATUS_CW}:${DIALSTATUS})})
    exten => s,n,GosubIf($?${DIALSTATUS},1)

    exten => s,20(huntdial),NoOp(Returned from dialparties with hunt groups to dial )
    exten => s,n,Set(HuntLoop=0)
    exten => s,n(a22),GotoIf($?a30) ; if this is from rg-group, don't strip prefix
    exten => s,n,NoOp(Returning there are no members left in the hunt group to ring)

    ; dialparties.agi has setup the dialstring for each hunt member in a variable labeled HuntMember0, HuntMember1 etc for each iteration
    ; and The total number in HuntMembers. So for each iteration, we will update the CALLTRACE Data.
    ;
    exten => s,n+2(a30),Set(HuntMember=HuntMember${HuntLoop})
    exten => s,n,GotoIf($ & $ | $ | $]]?a32:a35)

    exten => s,n(a32),Set(CT_EXTEN=${CUT(FILTERED_DIAL,,$)})
    exten => s,n,Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT})
    exten => s,n,Goto(s,a42)

    ;Set Call Trace for each hunt member we are going to call "Memory groups have multiple members to set CALL TRACE For" hence the loop
    ;
    exten => s,n(a35),GotoIf($ & $]?a36:a50)
    exten => s,n(a36),Set(CTLoop=0)
    exten => s,n(a37),GotoIf($?a42) ; if this is from rg-group, don't strip prefix
    exten => s,n,Set(CT_EXTEN=${CUT(FILTERED_DIAL,,$)})
    exten => s,n,Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT})
    exten => s,n,Set(CTLoop=$)
    exten => s,n,Goto(s,a37)

    exten => s,n(a42),Dial(${${HuntMember}}${ds})
    exten => s,n,GotoIf($?ANSWER,1)
    exten => s,n,Set(HuntLoop=$)
    exten => s,n,GotoIf($ & $] | $]?a46)
    exten => s,n,Set(HuntMembers=0)
    exten => s,n(a46),Set(HuntMembers=$)
    exten => s,n,Goto(s,a22)

    exten => s,n(a50),DBdel(CALLTRACE/${CT_EXTEN})
    exten => s,n,Goto(s,a42)

    ; For call screening
    exten => NOANSWER,1,Macro(vm,${SCREEN_EXTEN},BUSY,${IVR_RETVM})
    exten => NOANSWER,n,GotoIf($?bye)
    exten => NOANSWER,n,Return
    exten => NOANSWER,n(bye),Macro(hangupcall)
    exten => TORTURE,1,Goto(app-blackhole,musiconhold,1)
    exten => TORTURE,n,Macro(hangupcall)
    exten => DONTCALL,1,Answer
    exten => DONTCALL,n,Wait(1)
    exten => DONTCALL,n,Zapateller()
    exten => DONTCALL,n,Playback(ss-noservice)
    exten => DONTCALL,n,Macro(hangupcall)
    exten => ANSWER,1,Noop(Call successfully answered - Hanging up now)
    exten => ANSWER,n,Macro(hangupcall,)

    ; make sure hungup calls go here so that proper cleanup occurs from call confirmed calls and the like
    ;
    exten => h,1,Macro(hangupcall)

    ; get the voicemail context for the user in ARG1

    exten => s,1,Set(VMCONTEXT=${DB(AMPUSER/${ARG1}/voicemail)})
    exten => s,2,GotoIf($?200:300)
    exten => s,200,Set(VMCONTEXT=default)
    exten => s,300,NoOp()

    ; For some reason, if I don't run setCIDname, CALLERID(name) will be blank in my AGI
    ; ARGS: none

    exten => s,1,Set(CALLERID(name)=${CALLERID(name)})

    ; Ring groups of phones
    ; ARGS: comma separated extension list
    ; 1 - Ring Group Strategy
    ; 2 - ringtimer
    ; 3 - prefix
    ; 4 - extension list

    exten => s,1,Macro(user-callerid,SKIPTTL) ; already called from ringgroup
    exten => s,2,GotoIf($?4:3) ; check for old prefix
    exten => s,3,Set(CALLERID(name)=${CALLERID(name):${LEN(${RGPREFIX})}}) ; strip off old prefix
    exten => s,4,Set(RGPREFIX=${ARG3}) ; set new prefix
    exten => s,5,Set(CALLERID(name)=${RGPREFIX}${CALLERID(name)}) ; add prefix to callerid name
    exten => s,6,Set(RecordMethod=Group) ; set new prefix
    exten => s,7,Macro(record-enable,${MACRO_EXTEN},${RecordMethod})
    exten => s,8,Set(RingGroupMethod=${ARG1}) ;
    exten => s,9,Macro(dial,${ARG2},${DIAL_OPTIONS},${ARG4})
    exten => s,10,Set(RingGroupMethod='') ;


    ;
    ; Outgoing channel(s) are busy ... inform the client
    ; but use noanswer features like ringgroups don't break by being answered
    ; just to play the message.
    ;

    exten => s,1,Progress
    exten => s,n,Playback(all-circuits-busy-now,noanswer)
    exten => s,n,Playback(pls-try-call-later,noanswer)
    exten => s,n,Macro(hangupcall)

    ; dialout and strip the prefix

    exten => s,1,Macro(user-callerid,SKIPTTL)
    exten => s,2,GotoIf($?5) ;check for CID override for exten
    exten => s,3,Set(CALLERID(all)=${ECID${CALLERID(number)}})
    exten => s,4,Goto(7)
    exten => s,5,GotoIf($?7) ;check for CID override for trunk
    exten => s,6,Set(CALLERID(all)=${OUTCID_${ARG1}})
    exten => s,7,Set(length=${LEN(${DIAL_OUT_${ARG1}})})
    exten => s,8,Dial(${OUT_${ARG1}}/${ARG2:${length}})
    exten => s,9,Playtones(congestion)
    exten => s,10,Congestion(5)
    exten => s,109,Macro(outisbusy)


    ; dialout using default OUT trunk - no prefix

    exten => s,1,Macro(user-callerid,SKIPTTL)
    exten => s,2,Macro(record-enable,${CALLERID(number)},OUT)
    exten => s,3,Macro(outbound-callerid,${ARG1})
    exten => s,4,Dial(${OUT}/${ARG1})
    exten => s,5,Playtones(congestion)
    exten => s,6,Congestion(5)
    exten => s,105,Macro(outisbusy)


    ; this macro intentionally left blank so it may be safely overwritten for any custom
    ; requirements that an installation may have.
    ;
    ; MACRO RETURN CODE: ${PREDIAL_HOOK_RET}
    ; if set to "BYPASS" then this trunk will be skipped
    ;
    exten => s,1,MacroExit()


    ; check device type
    ;
    exten => s,1,Set(DEVICETYPE=${DB(DEVICE/${CALLERID(number)}/type)})
    exten => s,n,Answer()
    exten => s,n,Wait(1)
    exten => s,n,GotoIf($?s-FIXED,1)
    ; get user's extension
    ;
    exten => s,n,Set(AMPUSER=${ARG1})
    exten => s,n,GotoIf($?gotpass)
    exten => s,n(playagain),Read(AMPUSER,please-enter-your-extension-then-press-pound,,,4)
    ; get user's password and authenticate
    ;
    exten => s,n,GotoIf($?s-MAXATTEMPTS,1)
    exten => s,n(gotpass),GotoIf($?s-NOUSER,1)
    exten => s,n,Set(AMPUSERPASS=${DB_RESULT})
    exten => s,n,GotoIf($?s-NOPASSWORD,1)
    ; do not continue if the user has already logged onto this device
    ;
    exten => s,n,Set(DEVICEUSER=${DB(DEVICE/${CALLERID(number)}/user)})
    exten => s,n,GotoIf($?s-ALREADYLOGGEDON,1)
    exten => s,n,Authenticate(${AMPUSERPASS})
    exten => s,n,AGI(user_login_out.agi,login,${CALLERID(number)},${AMPUSER})
    exten => s,n,Playback(vm-goodbye)

    exten => s-FIXED,1,NoOp(Device is FIXED and cannot be logged into)
    exten => s-FIXED,n,Playback(ha/phone)
    exten => s-FIXED,n,SayDigits(${CALLERID(number)})
    exten => s-FIXED,n,Playback(is-curntly-unavail&vm-goodbye)
    exten => s-FIXED,n,Hangup ;TODO should play msg indicated device cannot be logged into

    exten => s-ALREADYLOGGEDON,1,NoOp(This device has already been logged into by this user)
    exten => s-ALREADYLOGGEDON,n,Playback(vm-goodbye)
    exten => s-ALREADYLOGGEDON,n,Hangup ;TODO should play msg indicated device is already logged into

    exten => s-NOPASSWORD,1,NoOp(This extension does not exist or no password is set)
    exten => s-NOPASSWORD,n,Playback(pbx-invalid)
    exten => s-NOPASSWORD,n,Goto(s,playagain)

    exten => s-MAXATTEMPTS,1,NoOp(Too many login attempts)
    exten => s-MAXATTEMPTS,n,Playback(vm-goodbye)
    exten => s-MAXATTEMPTS,n,Hangup

    exten => s-NOUSER,1,NoOp(Invalid extension ${AMPUSER} entered)
    exten => s-NOUSER,n,Playback(pbx-invalid)
    exten => s-NOUSER,n,Goto(s,playagain)


    ; check device type
    ;
    exten => s,1,Set(DEVICETYPE=${DB(DEVICE/${CALLERID(number)}/type)})
    exten => s,n,GotoIf($?s-FIXED,1)
    exten => s,n,AGI(user_login_out.agi,logout,${CALLERID(number)})
    exten => s,n(done),Playback(vm-goodbye)

    exten => s-FIXED,1,NoOp(Device is FIXED and cannot be logged out of)
    exten => s-FIXED,n,Playback(an-error-has-occured&vm-goodbye)
    exten => s-FIXED,n,Hangup ;TODO should play msg indicated device cannot be logged into



    ; Privacy Manager Macro makes sure that any calls that don't pass the privacy manager are presented
    ; with congestion since there have been observed cases of the call continuing if not stopped with a
    ; congestion, and this provides a slightly more friendly 'sorry' message in case the user is
    ; legitimately trying to be cooperative.
    ;
    ; Note: the following options are configurable in privacy.conf:
    ;
    ; maxretries = 3 ; default value, number of retries before failing
    ; minlength = 10 ; default value, number of digits to be accepted as valid CID
    ;

    exten => s,1,Set(KEEPCID=${CALLERID(num)})
    exten => s,n,GotoIf($?CIDTEST2:CIDTEST1)
    exten => s,n(CIDTEST1),Set(TESTCID=${MATH(1+${CALLERID(num)})})
    exten => s,n,Goto(TESTRESULT)
    exten => s,n(CIDTEST2),Set(TESTCID=${MATH(1+${CALLERID(num):1})})
    exten => s,n(TESTRESULT),GotoIf($?CLEARCID:PRIVMGR)
    exten => s,n(CLEARCID),Set(CALLERID(num)=)
    exten => s,n(PRIVMGR),PrivacyManager(${ARG1},${ARG2})
    exten => s,n,GotoIf($?fail)
    exten => s,n,GosubIf($?app-blacklist-check,s,1)
    exten => s,n,SetCallerPres(allowed_passed_screen); stop gap until app_privacy.c clears unavailable bit
    exten => s,PRIVMGR+101(fail),Noop(STATUS: ${PRIVACYMGRSTATUS} CID: ${CALLERID(num)} ${CALLERID(name)} CALLPRES: ${CALLLINGPRES})
    exten => s,n,Playback(sorry-youre-having-problems)
    exten => s,n,Playback(goodbye)
    exten => s,n,Playtones(congestion)
    exten => s,n,Congestion(5)
    exten => h,1,Hangup



    ; Text-To-Speech related macros
    ; These all follow common actions. First try to playback a file "tts/custom-md5"
    ; where "md5" is the md5() of whatever is going to be played. If that doesn't exist,
    ; try to playback using macro-tts-sayXXXXX (where XXXXX is text/digits/etc, same as
    ; the macro below). If that macro exits with MACRO_OFFSET=100, then it's done,
    ; otherwise, fallback to the default asterisk method.
    ;
    ; say text is purely for text-to-speech, there is no fallback

    exten => s,1,Noop(Trying custom SayText playback for "${ARG1}")
    exten => s,n,Playback(tts/custom-${MD5(${ARG1})})
    exten => s,n,GotoIf($?done)
    ; call tts-saytext. This should set MACRO_OFFSET=101 if it was successful
    exten => s,n(tts),Macro(tts-saytext,${ARG1},${ARG2},${ARG3})
    exten => s,n,Noop(No text-to-speech handler for SayText, cannot say "${ARG1}")
    exten => s,n,Goto(done)
    exten => s,tts+101,Noop(tts handled saytext)

    ; say name is for saying names typically, but fallsback to using SayAlpha
    ; (saying the word letter-by-letter)

    exten => s,1,Noop(Trying custom SayName playback for "${ARG1}")
    exten => s,n,Playback(tts/custom-${MD5(${ARG1})})
    exten => s,n,GotoIf($?done)
    ; call tts-sayalpha. This should set MACRO_OFFSET=101 if it was successful
    exten => s,n(tts),Macro(tts-sayalpha,${ARG1},${ARG2},${ARG3})
    exten => s,n,SayAlpha(${ARG1})
    exten => s,n,Goto(done)
    exten => s,tts+101,Noop(tts handled sayname)

    ; Say number is for saying numbers (eg "one thousand forty six")

    exten => s,1,Noop(Trying custom SayNumber playback for "${ARG1}")
    exten => s,n,Playback(tts/custom-${MD5(${ARG1})})
    exten => s,n,GotoIf($?done)
    ; call tts-saynumber. This should set MACRO_OFFSET=101 if it was successful
    exten => s,n(tts),Macro(tts-saynumber,${ARG1},${ARG2},${ARG3})
    exten => s,n,SayNumber(${ARG1})
    exten => s,n,Goto(done)
    exten => s,tts+101,Noop(tts handled saynumber)

    ; Say digits is for saying digits one-by-one (eg, "one zero four six")

    exten => s,1,Noop(Trying custom SayDigits playback for "${ARG1}")
    exten => s,n,Playback(tts/custom-${MD5(${ARG1})})
    exten => s,n,GotoIf($?done)
    ; call tts-saydigits. This should set MACRO_OFFSET=101 if it was successful
    exten => s,n(tts),Macro(tts-saydigits,${ARG1},${ARG2},${ARG3})
    exten => s,n,SayDigits(${ARG1})
    exten => s,n,Goto(done)


    ;
    ; ############################################################################
    ; Inbound Contexts
    ; ############################################################################


    ; Yes. This is _really_ meant to be _. - I know asterisk whines about it, but
    ; I do know what I'm doing. This is correct.
    exten => _.,1,NoOp(Received incoming SIP connection from unknown peer to ${EXTEN})
    exten => _.,n,Set(DID=${IF($?s:${EXTEN})})
    exten => _.,n,Goto(s,1)
    exten => s,1,GotoIf($?checklang:noanonymous)
    exten => s,n(checklang),GotoIf($?setlanguage:from-trunk,${DID},1)
    exten => s,n(setlanguage),Set(CHANNEL(language)=${SIPLANG})
    exten => s,n,Goto(from-trunk,${DID},1)
    exten => s,n(noanonymous),Set(TIMEOUT(absolute)=15)
    exten => s,n,Answer
    exten => s,n,Wait(2)
    exten => s,n,Playback(ss-noservice)
    exten => s,n,Playtones(congestion)
    exten => s,n,Congestion(5)
    exten => h,1,Hangup
    exten => i,1,Hangup
    exten => t,1,Hangup


    ; applications are now mostly all found in from-internal-additional in _custom.conf
    include => from-internal-custom
    include => parkedcalls

    ; MODIFIED (PL)
    ;
    ; Currently the include for findmefollow is being auto-generated before ext-local which is the desired behavior.
    ; However, I haven't been able to do anything that I know of to force this. We need to determine if it should
    ; be hardcoded into here to make sure it doesn't change with some configuration. For now I will leave it out
    ; until we can discuss this.
    ;
    include => ext-local-confirm
    include => findmefollow-ringallv2
    include => from-internal-additional
    ; This causes grief with '#' transfers, commenting out for the moment.
    ; include => bad-number
    exten => s,1,Macro(hangupcall)
    exten => h,1,Macro(hangupcall)


    include => from-internal-xfer
    include => bad-number

    ;------------------------------------------------------------------------
    ;
    ;------------------------------------------------------------------------
    ; CONTEXT: macro-setmusic
    ; PURPOSE: to turn off moh on routes where it is not desired
    ;
    ;------------------------------------------------------------------------

    exten => s,1,NoOp(Setting Outbound Route MoH To: ${ARG1})
    exten => s,2,Set(CHANNEL(musicclass)=${ARG1}) ; this won't work in 1.2 anymore, could fix in auto-generate if we wanted...
    ;------------------------------------------------------------------------

    ; ##########################################
    ; ## Ring Groups with Confirmation macros ##
    ; ##########################################
    ; Used by followme and ringgroups

    ;------------------------------------------------------------------------
    ;
    ;------------------------------------------------------------------------
    ; This has now been incorporated into dialparties. It still only works with ringall
    ; and ringall-prim strategies. Have not investigated why it doesn't work with
    ; hunt and memory hunt.
    ;
    ;------------------------------------------------------------------------

    ; This was written to make it easy to use macro-dial-confirm instead of macro-dial in generated dialplans.
    ; This takes the same parameters, with an additional parameter of the ring group Number
    ; ARG1 is the timeout
    ; ARG2 is the DIAL_OPTIONS
    ; ARG3 is a list of xtns to call - 203-222-240-123123123#-211
    ; ARG4 is the ring group number

    ; This sets a unique value to indicate that the channel is ringing. This is used for warning slow
    ; users that the call has already been picked up.
    ;
    exten => s,1,Set(DB(RG/${ARG4}/${CHANNEL})=RINGING)

    ; We need to keep that channel variable, because it'll change when we do this dial, so set it to
    ; fallthrough to every sibling.
    ;
    exten => s,n,Set(__UNIQCHAN=${CHANNEL})

    ; The calling ringgroup should have set RingGroupMethod appropriately. We need to set two
    ; additional parameters:
    ;
    ; USE_CONFIRMATION, RINGGROUP_INDEX
    ;
    ; These are passed to inform dialparties to place external calls through the context
    ;
    exten => s,n,Set(USE_CONFIRMATION=TRUE)
    exten => s,n,Set(RINGGROUP_INDEX=${ARG4})
    exten => s,n,Set(ARG4=) ; otherwise it gets passed to dialparties.agi which processes it (prob bug)

    exten => s,n,Macro(dial,${ARG1},${ARG2},${ARG3})

    ; delete the variable, if we are here, we are done trying to dial and it may have been left around
    ;
    exten => s,n,Noop(DELETE KEY: RG/${RINGGROUP_INDEX}/${CHANNEL}: ${DB_DELETE(RG/${RINGGROUP_INDEX}/${CHANNEL})})
    exten => s,n,Set(USE_CONFIRMATION=)
    exten => s,n,Set(RINGGROUP_INDEX=)
    ;------------------------------------------------------------------------


    ;------------------------------------------------------------------------
    ;
    ;------------------------------------------------------------------------
    ; If call confirm is being used in a ringgroup, then calls that do not require confirmation are sent
    ; to this extension instead of straight to the device.
    ;
    ; The sole purpose of sending them here is to make sure we run Macro(auto-confirm) if this
    ; extension answers the line. This takes care of clearing the database key that is used to inform
    ; other potential late comers that the extension has been answered by someone else.
    ;
    ; ALERT_INFO is deprecated in Asterisk 1.4 but still used throughout the FreePBX dialplan and
    ; usually set by dialparties.agi. This allows inheritance. Since no dialparties.agi here, set the
    ; header if it is set.
    ;
    ;------------------------------------------------------------------------

    exten => _LC-.,1,Noop(IN ext-local-confirm with - RT: ${RT}, RG_IDX: ${RG_IDX})
    exten => _LC-.,n,GotoIf($?godial)
    exten => _LC-.,n,SIPAddHeader(Alert-Info: ${ALERT_INFO})
    exten => _LC-.,n(godial),dial(${DB(DEVICE/${EXTEN:3}/dial)},${RT},M(auto-confirm^${RG_IDX})${DIAL_OPTIONS})

    ;------------------------------------------------------------------------
    ;
    ;------------------------------------------------------------------------
    ; This context, to be included in from-internal, implements the PreRing part of findmefollow
    ; as well as the GroupRing part. It also communicates between the two so that if DND is set
    ; on the primary extension, and mastermode is enabled, then the other extensions will not ring
    ;
    ;------------------------------------------------------------------------

    exten => _FMPR-.,1,Noop(In FMPR ${FMGRP} with ${EXTEN:5})
    exten => _FMPR-.,n,Set(RingGroupMethod=)
    exten => _FMPR-.,n,Set(USE_CONFIRMATION=)
    exten => _FMPR-.,n,Set(RINGGROUP_INDEX=)
    exten => _FMPR-.,n,Macro(simple-dial,${EXTEN:5},${FMREALPRERING})
    exten => _FMPR-.,n,GotoIf($?nodnd)
    exten => _FMPR-.,n,Set(DB(FM/DND/${FMGRP}/${FMUNIQUE})=DND)
    exten => _FMPR-.,n(nodnd),Noop(Ending FMPR ${FMGRP} with ${EXTEN:5} and dialstatus ${DIALSTATUS})
    exten => _FMPR-.,n,Hangup()

    exten => _FMGL-.,1,Noop(In FMGL ${FMGRP} with ${EXTEN:5})
    exten => _FMGL-.,n,GotoIf($?dodnd)
    exten => _FMGL-.,n,Wait(1)
    exten => _FMGL-.,n,GotoIf($?dodnd)
    exten => _FMGL-.,n,Wait(1)
    exten => _FMGL-.,n,GotoIf($?dodnd)
    exten => _FMGL-.,n,Wait(${FMPRERING})
    exten => _FMGL-.,n,GotoIf($?dodnd)
    exten => _FMGL-.,n,DBDel(FM/DND/${FMGRP}/${FMUNIQUE})
    exten => _FMGL-.,n(dodial),Macro(dial,${FMGRPTIME},${DIAL_OPTIONS},${EXTEN:5})
    exten => _FMGL-.,n,Noop(Ending FMGL ${FMGRP} with ${EXTEN:5} and dialstatus ${DIALSTATUS})
    exten => _FMGL-.,n,Hangup()
    exten => _FMGL-.,n+10(dodnd),DBDel(FM/DND/${FMGRP}/${FMUNIQUE})
    exten => _FMGL-.,n,GotoIf($?dodial)
    exten => _FMGL-.,n,Noop(Got DND in FMGL ${FMGRP} with ${EXTEN:5} in ${RingGroupMethod} mode, aborting)
    exten => _FMGL-.,n,Hangup()

    ;------------------------------------------------------------------------
    ;
    ;------------------------------------------------------------------------
    ; This context is set as a target with FORWARD_CONTEXT when Call Forwarding is set to be
    ; ignored in a ringgroup or other features that may take advantage of this. Server side
    ; CF is done in dialparties.agi but if a client device forwards a call, it will be caught
    ; and blocked here.
    ;------------------------------------------------------------------------

    exten => _X.,1,Noop(Blocking callforward to ${EXTEN} because CF is blocked)
    exten => _X.,n,Hangup()

    ;------------------------------------------------------------------------


    ;this is where parked calls go if they time-out. Should probably re-ring

    include => ext-local
    exten => s,1,Playback(vm-goodbye)
    exten => s,2,Macro(hangupcall)


    #include extension_a2billing_additionals.conf

    extensions_customs.conf:


    ; This file contains the contexts the agents login for the module call center.
    ; and contains the context conferences for module conferences of elastix 1.0.


    exten => 1234,1,Playback(demo-congrats) ; extensions can dial 1234
    exten => 1234,2,Hangup()
    exten => h,1,Hangup()
    include => agentlogin
    include => conferences
    include => calendar-event
    include => weather-wakeup


    exten => _*8888.,1,Set(AGENTNUMBER=${EXTEN:5})
    exten => _*8888.,n,NoOp(AgentNumber is ${AGENTNUMBER})
    exten => _*8888.,n,AgentLogin(${AGENTNUMBER})
    exten => _*8888.,n,Hangup()


    exten => 9999,1,Set(CALLERID(name)="MMGETOUT")
    exten => 9999,n,Answer
    exten => 9999,n,Playback(conf-will-end-in)
    exten => 9999,n,Playback(digits/5)
    exten => 9999,n,Playback(minutes)
    exten => 9999,n,Hangup


    ;Used by cbEnd script to play end of conference warning
    exten => 5555,1,Answer
    exten => 5555,n,Wait(3)
    exten => 5555,n,CBMysql()
    exten => 5555,n,Hangup


    exten => _*7899,1,Answer
    exten => _*7899,2,Playback(${FILE_CALL})
    exten => _*7899,3,Wait(2)
    exten => _*7899,4,Hangup()


    exten => *61,1,Answer
    exten => *61,2,AGI(nv-weather.php)
    exten => *61,3,Hangup
    exten => *62,1,Answer
    exten => *62,2,AGI(wakeup.php)
    exten => *62,3,Hangup
    ; BEGIN ELASTIX CALL-CENTER CONTEXTS DO NOT REMOVE THIS LINE


    exten => _X.,1,NoOP("Elastix CallCenter: AGENTCHANNEL=${AGENTCHANNEL}")
    exten => _X.,n,NoOP("Elastix CallCenter: QUEUE_MONITOR_FORMAT=${QUEUE_MONITOR_FORMAT}")
    exten => _X.,n,GotoIf($?skiprecord)
    exten => _X.,n,Set(CALLFILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
    exten => _X.,n,MixMonitor(${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT},,${MIXMON_POST})
    exten => _X.,n,Set(CDR(userfield)=audio:${CALLFILENAME}.${MIXMON_FORMAT})
    exten => _X.,n(skiprecord),Dial(${AGENTCHANNEL},300,tw)
    exten => h,1,Macro(hangupcall,)

    ; END ELASTIX CALL-CENTER CONTEXTS DO NOT REMOVE THIS LINE
    ; BEGIN ELASTIX CALL-CENTER-PRO CONTEXTS DO NOT REMOVE THIS LINE


    exten => _X.,1,NoOP("Elastix CallCenter: AGENTCHANNEL=${AGENTCHANNEL}")
    exten => _X.,n,NoOP("Elastix CallCenter: QUEUE_MONITOR_FORMAT=${QUEUE_MONITOR_FORMAT}")
    exten => _X.,n,GotoIf($?skiprecord)
    exten => _X.,n,Set(CALLFILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
    exten => _X.,n,MixMonitor(${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT},,${MIXMON_POST})
    exten => _X.,n,Set(CDR(userfield)=audio:${CALLFILENAME}.${MIXMON_FORMAT})
    exten => _X.,n(skiprecord),Dial(${AGENTCHANNEL},300,tw)
    exten => h,1,Macro(hangupcall,)


    exten => _X.,1,Answer
    exten => _X.,n,AMD
    exten => _X.,n,GotoIf($?ext-queues,${EXTEN},1)
    exten => _X.,n,Hangup

    ; END ELASTIX CALL-CENTER-PRO CONTEXTS DO NOT REMOVE THIS LINE
  39. Μηνύματα
    12
    Εμφανίσεις
    5.202

    Απάντηση: κλήσεις φαντάσματα στο extension μου..

    σου δινω το extra-channels.conf:

    ; Span 1: opvxg4xx/0/1 "OpenVox G400P GSM/CDMA PCI Card 0" (MASTER)
    group=11
    context=from-pstn
    signalling = gsm
    ;pin=1234
    channel => 1
    context = default
    group = 63

    ; Span 2: opvxg4xx/0/2 "OpenVox G400P GSM/CDMA PCI Card 0"
    group=12
    context=from-pstn
    signalling = gsm
    ;pin=1234
    channel => 3
    context = default
    group = 63
  40. Μηνύματα
    12
    Εμφανίσεις
    5.202

    Απάντηση: κλήσεις φαντάσματα στο extension μου..

    χρησιμοποιω μια καρτα openvox g400p. δεν εχω dialplan για τα sms
  41. Μηνύματα
    12
    Εμφανίσεις
    5.202

    Απάντηση: κλήσεις φαντάσματα στο extension μου..

    ευχαριστω πολυ για τις αμεσες απαντησεις αλλα το τηλεφωνο ειναι επαγγελματικο και δεν θα ηταν ωραιο να υπαρχει κατι τετοιο.. πιστευω πως η ειναι λαθος του κεντρου η μαλλον την συγκεκριμενη στιγμη καποιος μου στελνει sms απο καποια εταιρια μπορει και απο τον ιδιο τον παροχο. τωρα που εστειλα ενα sms στην συγκεκριμενη sim, χτυπησε το εσωτερικο αλλα εδειχνε το νουμερο μου. το σηκωσα και εκλεισε.

    2015-01-13 09:32:57 +3069χχχχχχ Main-RG 601 EXTRA/3-1 SIP/modulus-00000049 ANSWERED 0s
  42. Μηνύματα
    12
    Εμφανίσεις
    5.202

    Απάντηση: κλήσεις φαντάσματα στο extension μου..

    τι τιμες να δωσω στα:
    Max attempts:
    Min Length:
    επισης τι ακριβως κανει αυτη η επιλογη? για να μαθαινουμε κιολας :D
  43. Μηνύματα
    12
    Εμφανίσεις
    5.202

    κλήσεις φαντάσματα στο extension μου..

    καλησπερα παιδια.. παρατηρω συχνα εισερχομενες κλησεις προς μια sim μεσα στο κεντρο που στελνει την κληση σε ενα extension αλλα δεν εχει αναγνωριση και οταν το σηκωνω τερματιζει. καμια ιδεα?


    Date Source Ring Group Destination Src. Channel Dst. Channel Status Duration
    2015-01-12 18:15:51 E4261B9 Main-RG 601 EXTRA/3-1 SIP/modulus-00000032 ANSWERED 0s
  44. Θέμα: elastix + g729 codec

    Από crond
    Μηνύματα
    9
    Εμφανίσεις
    4.210

    Απάντηση: elastix + g729 codec

    σας ευχαριστω για τις απαντησεις σας με βοηθησατε πολυ
  45. Θέμα: elastix + g729 codec

    Από crond
    Μηνύματα
    9
    Εμφανίσεις
    4.210

    Απάντηση: elastix + g729 codec

    να ρωτησω και κατι αλλο τωρα.. πως μπορω να δω τι codec χρησιμοποιει ενα εσωτερικο? επισης πως γινεται να δηλωνει ο asterisk τους codecs και οχι η καθε συσκευη? χρησιμοποιω elastix.
  46. Θέμα: elastix + g729 codec

    Από crond
    Μηνύματα
    9
    Εμφανίσεις
    4.210

    Απάντηση: elastix + g729 codec

    ευχαριστω πολυ με βοηθησατε αρκετα παιδια :D
  47. Θέμα: elastix + g729 codec

    Από crond
    Μηνύματα
    9
    Εμφανίσεις
    4.210

    Απάντηση: elastix + g729 codec

    ευχαριστω για τις γρηγορες απαντησεις παιδια. θα δοκιμασω 1 απο τα 2. ελπιζω να μην εχει θεμα επειδη δεν ειναι καθαρο asterisk
  48. Θέμα: elastix + g729 codec

    Από crond
    Μηνύματα
    9
    Εμφανίσεις
    4.210

    elastix + g729 codec

    Καλησπερα παιδια θελω τα φωτα σας ακομη μια φορα
    Εστησα ενα elastix με ενα φιλο. Ολες οι συσκευες δουλεψουν παρα πολυ καλα στο lan. Το προβλημα ειναι οταν κανω register καποιο extension απο то wifi. Ιδικα αν ειμαι σε αλλο δωματιο μακρια απο τον router η κληση ειναι πολυ χαλια. Εχω διαβασει για τον codec g729 αλλα και οτι ειναι licensing. Επισης διαβασα οτι υπαρχει και ο g729 για developers που ειναι free. Πως μπορω να εγκαταστησω τον g729 λοιπον για να μπορω να βγαζω καλη κληση και με wifi?
  49. Μηνύματα
    7
    Εμφανίσεις
    3.617

    Απάντηση: o elastix απανταει και στο msn.. δεν θελω

    santis ειναι το nt
  50. Μηνύματα
    7
    Εμφανίσεις
    3.617

    Απάντηση: o elastix απανταει και στο msn.. δεν θελω

    ναι το εχω γυρισει.. με καποιο μαγικο τροπο σταματησε να το κανει.. τι να πω δεν ξερω
Εμφάνιση 1-50 από 137
Σελ. 1 από 3 1 2 3