# FreePBX, Asterisk, Issabel

## Πώς συνδέεται η Voice Logica

Το κέντρο **κάνει εγγραφή ενός SIP trunk προς τη Voice Logica** ([τρόπος 1](https://docs.voicelogica.ai/el/phone-systems/#οι-τέσσερις-τρόποι-σύνδεσης-της-voice-logica)). Η Voice Logica δημιουργεί το trunk και σας δίνει διακομιστή, όνομα χρήστη και κωδικό. Το κέντρο στέλνει REGISTER προς τα έξω, οπότε δεν χρειάζεται port forwarding.

- Τις κλήσεις που δρομολογούνται σε αυτό το trunk τις απαντά ο Ψηφιακός Βοηθός AI.
- Ο βοηθός μεταφέρει τους καλούντες πίσω μέσω του ίδιου trunk· οι κλήσεις φτάνουν στο context του trunk (`from-pstn`) και το inbound route καλεί το εσωτερικό.

## 1. Δημιουργήστε τη σύνδεση στη Voice Logica

**Τηλεφωνία - Trunks - Σύνδεση τηλεφωνικού κέντρου**, επιλέξτε **FreePBX / Asterisk** και τον βοηθό. Αφήστε το παράθυρο ανοιχτό μέχρι να γράψει **Συνδέθηκε**.

## 2. Προσθέστε το trunk

<Tabs syncKey="asterisk">
<TabItem label="FreePBX 16 / 17">

1. **Connectivity → Trunks → Add SIP (chan_pjsip) Trunk**. **Trunk Name** `voicelogica`.
2. **pjsip Settings → General**: **Username** και **Auth username** = το όνομα χρήστη, **Secret** = ο κωδικός, **Authentication** = Outbound, **Registration** = Send, **SIP Server** = ο διακομιστής, **SIP Server Port** = 5060, **Transport** = 0.0.0.0-udp, **Context** = `from-pstn`.
3. **pjsip Settings → Advanced**: **From Domain** = ο διακομιστής, **DTMF Mode** = RFC 4733, **Qualify Frequency** 60.
4. **Codecs**: πρώτα alaw, μετά ulaw.
5. **Submit** και **Apply Config**.

</TabItem>
<TabItem label="Issabel / Elastix">

1. **PBX → PBX Configuration → Trunks → Add SIP Trunk**.
2. **PEER Details**:

   ```
   host=<server>
   username=<username>
   fromuser=<username>
   secret=<password>
   fromdomain=<server>
   type=peer
   insecure=port,invite
   dtmfmode=rfc2833
   disallow=all
   allow=alaw&ulaw
   qualify=yes
   context=from-pstn
   ```

3. **Register String**: `<username>:<password>@<server>/<username>`
4. Submit και apply.

</TabItem>
<TabItem label="Plain Asterisk (pjsip.conf)">

```ini
[voicelogica]
type=registration
outbound_auth=voicelogica-auth
server_uri=sip:<server>:5060
client_uri=sip:<username>@<server>
contact_user=<username>

[voicelogica-auth]
type=auth
auth_type=userpass
username=<username>
password=<password>

[voicelogica]
type=aor
contact=sip:<server>:5060

[voicelogica]
type=endpoint
context=from-voicelogica
disallow=all
allow=alaw,ulaw
dtmf_mode=rfc4733
outbound_auth=voicelogica-auth
aors=voicelogica
from_domain=<server>

[voicelogica]
type=identify
endpoint=voicelogica
match=<server>
```

</TabItem>
</Tabs>

## 3. Στείλτε κλήσεις στον βοηθό

- **Σύντομος κωδικός:** **Connectivity → Outbound Routes**, ένα dial pattern (για παράδειγμα `9|.` ή έναν αποκλειστικό κωδικό) που χρησιμοποιεί το trunk της Voice Logica.
- **Ένας αριθμός, μια επιλογή IVR, failover ring group ή ουράς, κλήσεις εκτός ωραρίου:** στείλτε τα σε ένα **Misc Destination** που καλεί μέσω αυτού του trunk.

## 4. Επιτρέψτε στον βοηθό να μεταφέρει πίσω στα εσωτερικά

**Connectivity → Inbound Routes** για τις κλήσεις από αυτό το trunk, με προορισμό το εσωτερικό (ή ένα route του οποίου το DID ταιριάζει με τους αριθμούς των εσωτερικών). Στη συνέχεια, στη Voice Logica, προσθέστε τα εσωτερικά ως προορισμούς μεταφοράς: έναν προορισμό **External** με τον αριθμό του εσωτερικού (για παράδειγμα `201`) ή έναν **User** με αυτό το εσωτερικό. Χρησιμοποιήστε μεταφορά **Warm**.

## 5. Ελέγξτε ότι λειτουργεί

- Το παράθυρο γράφει **Συνδέθηκε**. Στο κέντρο, η εντολή `asterisk -rx "pjsip show registrations"` δείχνει **Registered**.
- Καλέστε τη δρομολόγηση από ένα εσωτερικό: η κλήση εμφανίζεται στις **Κλήσεις**.
- Ζητήστε από τον βοηθό έναν συνάδελφο: το εσωτερικό χτυπά.

## Καλό να γνωρίζετε

- **Πίσω από NAT:** ορίστε **External Address** και **Local Networks** στο **Settings → Asterisk SIP Settings** (Issabel: **PBX → Tools → Asterisk SIP Settings**).
- Απενεργοποιήστε το **SIP ALG** στον router του γραφείου.
