Μετάβαση στο περιεχόμενο

Οδηγοί

SIP

Αν δεν σας αρκεί ο φωνητικός πράκτορας ούτε η απλή προώθηση και θέλετε να συνδέσετε τον αριθμό στο δικό σας softphone ή τηλεφωνικό κέντρο (PBX), χρειάζεστε πάροχο SIP trunk - το volai είναι ένας τέτοιος πάροχος. Αυτή η σελίδα είναι οδηγός βήμα προς βήμα.

1Εισερχόμενες κλήσεις προς τον διακομιστή SIP σας

Ορίστε τη δρομολόγηση του αριθμού σε mode: "sip" και εισαγάγετε το δικό σας sipUri - από εκεί η κλήση πηγαίνει απευθείας σε εσάς, όχι στην προσφορά πράκτορα ή προώθησης:

bash
curl -X PATCH "https://volai.eu/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:reception@your-server.gr"}}'

Χρεώνεται μόνο το εισερχόμενο λεπτό (0,50 kr/min (≈ 0,02 EUR)), χωρίς πρόσθετο πράκτορα - την πλήρη μορφή του αιτήματος και τους υπόλοιπους τρόπους δρομολόγησης θα βρείτε στην αναφορά REST API.

Έλεγχος ταυτότητας στο τηλεφωνικό σας κέντρο

Την κλήση προς τον διακομιστή SIP σας την αποστέλλουμε πρώτα ως INVITE χωρίς έλεγχο ταυτότητας προς sipUri. Ένα τηλεφωνικό κέντρο που απαντά σε αυτό με πρόκληση για σύνδεση (401/407) και χωρίς περαιτέρω στοιχεία απορρίπτει την κλήση, δεν θα την παραλάβει σε αυτή τη μορφή - δεν υπάρχει κανείς να απαντήσει στην πρόκληση. Γι' αυτό συμπληρώστε στη δρομολόγηση επιπλέον το sipUsername και το sipPassword - όταν συμπληρωθούν και τα δύο, το δίκτυό μας συνδέεται στον προορισμό (SIP digest) και καλεί τον αριθμό. Επαληθεύτηκε με ζωντανή κλήση σε εγγενή αριθμό SIP της Vapi, που δέχεται τα στοιχεία σύνδεσης ανεξάρτητα από το περιεχόμενό τους. Το αν θα συνδέσει την κλήση και το δικό σας κέντρο εξαρτάται από αυτό - πρέπει πράγματι να απαντά στο INVITE με πρόκληση και να αναγνωρίζει το όνομα και τον κωδικό που δηλώσατε· αυτό δεν το εγγυόμαστε για κάθε κέντρο (στη δοκιμή δεν πέτυχε π.χ. απέναντι σε τομέα SIP της Twilio). Χωρίς sipUsername και sipPassword η δρομολόγηση μένει στη σημερινή μορφή χωρίς έλεγχο ταυτότητας. Τη σύνδεση προσθέτετε στη δρομολόγηση ως εξής:

bash
curl -X PATCH "https://volai.eu/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:reception@your-server.gr", "sipUsername": "reception", "sipPassword": "secretpassword123"}}'

Τον καλούμενο αριθμό τον στέλνουμε πάντα ακριβώς στη μορφή που υπάρχει στο sipUri πριν από το @ - δεν προσθέτουμε ούτε αφαιρούμε κωδικό περιοχής ή μηδενικό, οπότε το κέντρο προορισμού πρέπει να μπορεί να χειριστεί ακριβώς ό,τι γράψετε εκεί.

Τα sipUsername και sipPassword δεν επιτρέπεται να περιέχουν άνω και κάτω τελεία (:), @, κενό, εισαγωγικά ή ανάποδη κάθετο και να έχουν το πολύ 64 χαρακτήρες το καθένα.

Δεν μπορείτε να συμπληρώσετε μόνο το ένα από τα δύο πεδία - το API επιστρέφει το σφάλμα «Συμπληρώστε και το όνομα και τον κωδικό, ή αφήστε και τα δύο κενά.».

Ο χαρακτήρας άνω και κάτω τελεία (:) στο τμήμα χρήστη του sipUri (πριν από το @) και η θύρα στον host (μετά την άνω και κάτω τελεία στον διακομιστή, π.χ. :5060) δεν υποστηρίζονται ακόμη όταν έχουν συμπληρωθεί τα sipUsername και sipPassword - και τα δύο επιστρέφουν το ίδιο αυστηρό σφάλμα. Χωρίς στοιχεία σύνδεσης και τα δύο λειτουργούν αμετάβλητα.

Εξαίρεση: το BYO SIP trunk της Vapi (διεύθυνση <credentialId>.sip.vapi.ai, για οργανισμό στην περιοχή ΕΕ <credentialId>.sip.eu.vapi.ai) δεν χρησιμοποιεί στοιχεία σύνδεσης. Η Vapi αναγνωρίζει τις κλήσεις μας από την IP στα gateways του trunk και με συμπληρωμένα sipUsername και sipPassword η κλήση δεν θα συνδεόταν, γι' αυτό το API απορρίπτει μια τέτοια δρομολόγηση με κωδικό validation. Ο εγγενής αριθμός SIP της Vapi (sip:<όνομα>@sip.vapi.ai) δεν επηρεάζεται.

Ποιος άλλος θα δει το όνομα και τον κωδικό

Το όνομα και ο κωδικός ταξιδεύουν με την κλήση μέσα στο δίκτυό μας και παραμένουν στα τεχνικά αρχεία της δρομολόγησής της - δεν είστε ο μόνος που θα τα δει. Γι' αυτό δημιουργήστε στο κέντρο έναν αποκλειστικό λογαριασμό μόνο για εμάς, όχι τον κύριο κωδικό διαχειριστή.

Partial update: το πεδίο που παραλείπετε μένει όπως ήταν

Αν στο PATCH στείλετε μόνο το sipUri και παραλείψετε το sipUsername και το sipPassword , και τα δύο πεδία μένουν αμετάβλητα - δεν χρειάζεται να τα εισάγετε ξανά σε κάθε αλλαγή του sipUri. Ένα πεδίο που παραλείπεται (λείπει εντελώς από το σώμα) μένει πάντα όπως είναι αποθηκευμένο· τη σύνδεση την ακυρώνει μόνο ρητή κενή συμβολοσειρά και στα ΔΥΟ πεδία ταυτόχρονα. Μοναδική εξαίρεση είναι η αλλαγή διακομιστή: αν στο sipUri αλλάξετε και το τμήμα μετά το @, πρέπει να στείλετε ξανά τον κωδικό - τον αποθηκευμένο κωδικό δεν τον στέλνουμε σε διακομιστή διαφορετικό από αυτόν για τον οποίο τον δηλώσατε. Την τρέχουσα κατάσταση επαληθεύετε από το πεδίο hasSipPassword στην απάντηση.

Η κλήση δεν συνδέθηκε; Επιτρέψτε μας με βάση την IP

Η σύνδεση SIP λειτουργεί μόνο απέναντι σε προορισμό που απαντά στο INVITE με πρόκληση και δέχεται τα στοιχεία (επαληθεύτηκε με εγγενή αριθμό SIP της Vapi) - διαφορετικά δεν θα λάβετε την κλήση, είτε συμπληρώσετε στοιχεία σύνδεσης είτε όχι. Η σηματοδοσία μας προέρχεται από το εύρος 81.31.45.0/24, στην πράξη συχνότερα από το 81.31.45.51 και το 81.31.45.56. Επιτρέψτε στο κέντρο σας ολόκληρο αυτό το εύρος - η κλήση θα αναγνωρίζεται τότε από τη διεύθυνση προέλευσης, όχι από όνομα και κωδικό, και τα στοιχεία σύνδεσης δεν χρειάζονται καθόλου.

2Στοιχεία SIP του αριθμού

Τα στοιχεία σύνδεσης της γραμμής τα παίρνετε με μία κλήση:

bash
curl "https://volai.eu/v1/numbers/+420601234567/sip" \
  -H "Authorization: Bearer vk_YOUR_KEY"
json
{
  "server": "sip.volai.cz",
  "username": "123456",
  "password": "a1b2c3d4e5f6",
  "outboundTrunkAddress": "sip.volai.cz",
  "port": 5060,
  "transport": "tcp",
  "inboundSignallingCidrs": ["81.31.45.0/24"]
}

Ρύθμιση στο softphone (Zoiper, Linphone)

Και στις δύο εφαρμογές εισάγετε ουσιαστικά τα ίδια στοιχεία, απλώς με άλλες ονομασίες - ψάξτε το «Προσθήκη λογαριασμού» / «Λογαριασμός SIP»:

ΠεδίοΤιμή
Διακομιστής / Τομέαςsip.volai.cz
Όνομα χρήστηαπό την παραπάνω απάντηση (username)
Κωδικόςαπό την παραπάνω απάντηση (password)
TransportTCP
Θύρα5060 (προεπιλεγμένη θύρα SIP - αν το πεδίο προσφέρει κενή επιλογή, αφήστε το κενό)

Ο πελάτης ζητά να συμπληρώσετε realm;

Αφήστε το πεδίο κενό - οι περισσότεροι πελάτες παίρνουν το realm από την πρόκληση του διακομιστή. Στο αρχείο καταγραφής του πελάτη μπορεί να εμφανιστεί ο τεχνικός τομέας του δικτύου μας, αυτό είναι φυσιολογικό. Αν ο πελάτης σας απαιτεί το realm ως υποχρεωτικό, γράψτε στην υποστήριξη.

Μετά την αποθήκευση το softphone πρέπει να εγγραφεί (εικονίδιο κατάστασης «online»/«εγγεγραμμένο») και οι κλήσεις προς τον αριθμό αρχίζουν να χτυπούν απευθείας σε αυτό.

3Εξερχόμενες κλήσεις μέσω πελάτη SIP

Μόλις το softphone εγγραφεί, μπορεί από μόνο του να καλεί προς τα έξω μέσω αυτής της γραμμής - δεν χρειάζεται για αυτό να καλέσετε κανένα API μας, καλείτε απευθείας από τον πελάτη όπως από μια συνηθισμένη τηλεφωνική γραμμή.

Τα λεπτά αφαιρούνται από το υπόλοιπο του volai

Η εξερχόμενη κλήση μέσω πελάτη SIP χρεώνεται με την ίδια τιμή με μια εξερχόμενη κλήση μέσω API (0,92 kr/min (≈ 0,04 EUR)) και αφαιρείται από το υπόλοιπό σας - όχι από κάποιον ξεχωριστό λογαριασμό SIP. Οι τιμές είναι χωρίς ΦΠΑ, όπως ολόκληρος ο τιμοκατάλογος.

Η σύνδεση γίνεται απευθείας ανάμεσα στον πελάτη σας και τον διακομιστή sip.volai.cz, όχι μέσω του API μας, γι' αυτό τα λεπτά δεν μπορούν να δεσμευτούν ακριβώς τη στιγμή της κλήσης. Μια κλήση που γίνεται απευθείας από πελάτη SIP χρεώνεται εκ των υστέρων από τα αρχεία καταγραφής του δικτύου - το νωρίτερο 10 λεπτά μετά το τέλος της, συνήθως εντός μισής ώρας - και δεν εμφανίζεται στο υπόλοιπο τη στιγμή της κλήσης. Το ημερήσιο όριο κλήσεων και ο έλεγχος υπολοίπου κατά την κλήση δεν ισχύουν για αυτές τις κλήσεις, επειδή ελέγχουν μόνο κλήσεις μέσω API - το υπόλοιπο μπορεί επομένως να πέσει κάτω από το μηδέν. Όταν το υπόλοιπο φτάσει στο μηδέν, οι νέες επί πληρωμή ενέργειες μέσω API/MCP αρχίζουν να απορρίπτονται (μια κλήση χρειάζεται υπόλοιπο τουλάχιστον ίσο με το ελάχιστο ποσό κλήσης). Όταν το υπόλοιπο πέσει κάτω από το μηδέν, εντός λίγων λεπτών απενεργοποιείται η πρόσβαση SIP της γραμμής, η προώθηση αποσυνδέεται και λαμβάνετε email· μετά τη φόρτιση τουλάχιστον στο ελάχιστο ποσό κλήσης όλα αποκαθίστανται μόνα τους και ο κωδικός δεν αλλάζει. Αν το χρέος δεν τακτοποιηθεί εντός μιας εβδομάδας, ο αριθμός επιστρέφει στο απόθεμα (η πρόσβαση SIP τερματίζεται οριστικά). Γι' αυτό παρακολουθείτε το υπόλοιπό σας εγκαίρως, όχι μόλις φτάσει στο μηδέν.

Έχετε φωνητικό πράκτορα AI και όχι softphone;

Αυτό το βήμα προϋποθέτει πελάτη που μπορεί να εγγραφεί στη γραμμή (SIP REGISTER) - softphone, PBX. Μια πλατφόρμα που απλώς στέλνει την κλήση μία φορά με έλεγχο ταυτότητας, χωρίς μόνιμη εγγραφή (συνήθως φωνητικοί πράκτορες AI όπως το ElevenLabs), χρειάζεται άλλη διαδικασία - δείτε Δικός σας πράκτορας.

Τη διεύθυνση εξερχόμενου trunk της πλατφόρμας πάρτε την από το πεδίο outboundTrunkAddress, όχι από το server παραπάνω - αναλυτικά σε εκείνη τη σελίδα.

4Περιορισμοί

  • Μία εγγραφή ανά γραμμή - τα ίδια στοιχεία σύνδεσης υποστηρίζουν μία εγγεγραμμένη συσκευή τη φορά. Αν συνδεθείτε με δεύτερο πελάτη, ο πρώτος πιθανότατα θα χάσει την εγγραφή - μην βασίζεστε σε περισσότερες συσκευές ταυτόχρονα στην ίδια γραμμή.
  • Εξερχόμενες από δικό σας πράκτορα ναι, πλήρες trunk peering όχι - τα στοιχεία σύνδεσης της γραμμής χρησιμεύουν ώστε ο ΔΙΚΟΣ ΣΑΣ πελάτης να εγγραφεί σε ΕΜΑΣ ως τηλέφωνο. Οι εξερχόμενες κλήσεις από δικό σας φωνητικό πράκτορα (ElevenLabs ή άλλη πλατφόρμα) όμως σήμερα ΓΙΝΟΝΤΑΙ - μέσω relay, δείτε Δικός σας πράκτορας. Εξακολουθεί όμως να μην είναι δυνατό να συνδέσετε το κέντρο σας ως ισότιμο φορέα με δική του δρομολόγηση των ΕΙΣΕΡΧΟΜΕΝΩΝ κλήσεων από έξω - για αυτό χρησιμοποιήστε τη δρομολόγηση forward προς τον αριθμό του κέντρου σας.
  • Μόνο φωνή - χωρίς βίντεο ή άλλες επεκτάσεις SIP.