Telephony: phone numbers, PBX connection, SIP trunks, edge device, routing, transfers, Live Support (chat handoff to your team), users, extensions, softphones and the mobile app # Get a number Sign-up already handed you a **test number** and PIN. That line is for **Try this agent**. Customers never dial it, and it is not a production DID. This section is how a *customer* reaches the agent on a real line - and how the agent hands a call to a human. If you skip it, **Try this agent** still works and the live site stays silent. ## Why setup matters [Section titled “Why setup matters”](#why-setup-matters) Three things have to be true or a real caller hears ringing, then nothing: 1. A **SIP trunk** exists - the connection to a carrier (Voice Logica’s path, or yours). 2. A **number** sits on that trunk (or is connected to this agent). 3. **This agent** is set to answer it under **Channels - Telephony**. A number answers **one** agent. Turning it on for a second agent takes it off the first. [Transfer](/telephony/transfer/) is a later step. Leave it off until a production number already rings this agent. ## How the pieces connect [Section titled “How the pieces connect”](#how-the-pieces-connect) | Step | Where | What happens | | ---- | ------------------------------------ | ----------------------------------------------------------------------------------------- | | 1 | Sidebar - **Telephony - Trunks** | Company SIP trunks. **+ Add Trunk**. | | 2 | Agent - **Channels - Telephony** | **+ Add SIP trunk** if none exist, then inbound route / numbers this agent should answer. | | 3 | A real phone | Dial the DID. Open **Calls** and listen. | | 4 | Agent - **Call handling - Transfer** | When this agent hands a caller off, and how. | **Telephony - Routing** is an override. If every number on the trunk lands on the same agent, skip it. ## Open Telephony [Section titled “Open Telephony”](#open-telephony) In the app sidebar, click **Telephony**. It opens on **Trunks**. The page line: SIP trunks, inbound and outbound routing, user groups, transfers, conference rooms, and call settings. ![Telephony Trunks empty state with Add Trunk](/_derived/thumb/telephony/trunks.webp) tel-trunksExpand When empty, the table shows **Connect your first trunk** - connect a SIP carrier, an existing PBX account, or let a customer PBX register to Voice Logica. Use **+ Add Trunk**. Tabs: [Trunks](/telephony/your-own-carrier/)OPENS HERE the connection [Active directory](/telephony/active-directory/) who to dial [Routing](/telephony/routing/) InboundOutbound [User Groups](/telephony/user-groups/) several peopleone extension [Conference Rooms](/telephony/conference-rooms/) dial-in bridges [Call settings](/telephony/call-settings/) SIP + recording default ## What you see on the agent [Section titled “What you see on the agent”](#what-you-see-on-the-agent) Open the agent - **Channels - Telephony**. Production shows a **SIP trunks** card. The banner says: send phone calls to this agent - add a SIP trunk if you do not have one, then add an inbound route and pick the numbers this agent should answer - or connect a number on a trunk above. ![Agent Channels Telephony with no SIP trunk yet](/_derived/thumb/telephony/index-form.webp) index-formExpand Empty state: **No SIP trunk yet.** A SIP trunk is the connection to your phone provider. Set one up before any number can ring this agent. Primary button: **+ Add SIP trunk**. ## First setup - from the test PIN to a customer line [Section titled “First setup - from the test PIN to a customer line”](#first-setup---from-the-test-pin-to-a-customer-line) 1. **Confirm Try this agent already works** [Your First Agent](/getting-started/your-first-agent/). If the PIN line is wrong, a production DID will not fix the greeting. 2. **Add a SIP trunk** Either **Telephony - Trunks - + Add Trunk**, or the agent’s **Channels - Telephony - + Add SIP trunk**. Complete the carrier / PBX details on [Your own carrier](/telephony/your-own-carrier/). 3. **Connect a number and point it at this agent** Add or connect numbers on the trunk, then make sure *this* agent answers them (inbound route / connect on the Telephony card). 4. **Dial that number from a real phone** Not the test PIN. Open **Calls**. If the row is missing, the number is on a different agent, the trunk is disabled, or you dialed the rehearsal line. 5. **Only then turn on Transfer** [Transfer](/telephony/transfer/) after the production number already rings. The test line is not the customer line **Try this agent** can succeed while **Live on** still shows **0 of 2 channels**. A customer number has to be connected before you put it on the website. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Your own carrier - **+ Add Trunk**, then connect numbers.→](/telephony/your-own-carrier/)[Voice Logica numbers - when your plan shows the free DID controls.→](/telephony/voice-logica-numbers/)[Routing - only when one DID should not follow the trunk default.→](/telephony/routing/)[Destinations - company objects, then what the agent sees.→](/telephony/destinations/)[Transfer - after the production number already rings.→](/telephony/transfer/) # Active directory **Telephony - Active directory** is the company phone book: people, AI agents, user groups, and conference rooms, and the **Internal number** for each. The page line is: **Who to call in this company — people, AI agents, user groups, and conference rooms, and the number for each.** You do not invent extensions here for groups or rooms - those are created on their own tabs and appear. Users you invite and seat **do** show up here. The agent Transfer tab type **User** is this list of seats. ![Telephony Active directory with users and AI agents](/_derived/thumb/telephony/active-directory.webp) tel-directoryExpand Columns: **Name**, **Type**, **Online Devices**, **Available Devices**, **Internal number**, **Actions**. Filter by **Type**. Search by name or number. **+ Connect more users** invites the same people as **Team and access**. ## Why this tab exists [Section titled “Why this tab exists”](#why-this-tab-exists) Without seats, Transfer has nobody to hand off to except another agent or an external number. Routing can point at a **User**. Campaigns and click-to-call need the same extensions. This is not Microsoft Active Directory sync. Microsoft Teams is a [trunk type](/telephony/your-own-carrier/#microsoft-teams). ## What you do here [Section titled “What you do here”](#what-you-do-here) **+ Connect more users** invites teammates. Click a user (gear) to open user settings. Click an internal number to call it. **Available devices** grants Windows / SIP / iOS seats. Agents, groups, and rooms appear here once they have an extension. You create those on **My Agents**, [User Groups](/telephony/user-groups/), and [Conference Rooms](/telephony/conference-rooms/). AI agents show **Online Devices** as **Voice Logica Server** (runs on the server). ## On the agent [Section titled “On the agent”](#on-the-agent) | Agent place | What this tab supplied | | ------------------------------------------ | ------------------------------------------------------------------------------------------------- | | **Call handling - Transfer** type **User** | Seated people. If the list is empty, invite and seat someone first. | | **Channels - Telephony** | Not configured here. Numbers still come from Trunks. | | **Recording & Privacy** | A seat can override company [Call settings](/telephony/call-settings/). Per-endpoint always wins. | **Allow the AI to transfer to any enabled destination in this company** includes these users once they have an extension. ## First setup - one teammate the agent can name [Section titled “First setup - one teammate the agent can name”](#first-setup---one-teammate-the-agent-can-name) 1. **+ Connect more users** (or **Team and access**) and give them a seat / extension. 2. Confirm they appear here with an **Internal number**. Toggle a device if they need SIP / Windows / iOS. 3. Agent - **Call handling - Transfer** - On - add that person as a **User** destination, or leave **Allow any destination** on. 4. Write one line in **When and where to transfer** that uses their name or job. Call the production DID and ask to be passed. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [User Groups - several people, one extension.→](/telephony/user-groups/)[Transfer - turn a user on for *this* agent.→](/telephony/transfer/)[Call settings - SIP domain seats register against.→](/telephony/call-settings/) # Assistant during calls > On a call with a customer or colleague, say "Logica" or "Λότζικα" and the AI answers: it adds people to the call, finds their number and answers from your knowledge. On a call between you and someone else, on Noema, the Windows app or a desk phone, the AI is on the line with you. It stays silent and only listens. It answers out loud when you start a sentence with a **wake word**: **Logica** or **Λότζικα**. * *“Λότζικα, πρόσθεσε τη Μαρία στην κλήση.”* * *“Logica, add extension 104.”* * *“Λότζικα, τι ώρες είμαστε ανοιχτά το Σάββατο;”* Both of you hear the answer. Then it goes quiet again. ## When the wake word applies [Section titled “When the wake word applies”](#when-the-wake-word-applies) | Call | Wake word | | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | **Between people** - you and a customer or colleague | **On by default.** The AI stays silent until you say **Logica** or **Λότζικα**. | | **The AI answers the caller itself** | **No effect.** The AI talks normally. The wake word matters only if you also set sleep phrases and someone put the agent to sleep. | ## How it works [Section titled “How it works”](#how-it-works) Wake word every time Start every request with the wake word. Without it the assistant stays silent, even right after it answered. Only you wake it The person you are talking to cannot wake it, even by saying the word. Cut it off Say the wake word again while it speaks. Which calls Calls Voice Logica analyses: Noema, the Windows app, a desk phone or softphone on your extension. ## Set it up once [Section titled “Set it up once”](#set-it-up-once) 1. **Choose the assistant.** It is the **Default analysis agent** in **Telephony - [Call settings](/telephony/call-settings/)**, with **Analyze calls by default** on. A user whose phone settings override the company’s uses their own analysis agent. It needs a voice and a non-realtime model. 2. **Check the wake words.** They are in **Telephony - Call settings - Keypad codes and wake word**, up to 5 (a user can have their own in their seat). Every company starts with **Logica** and **Λότζικα**; delete either one, and with none left nothing wakes the assistant. Never use a person’s name, like Δημήτρη: the assistant would wake every time someone says it. Switch the wake word off and the assistant never speaks on your calls. 3. **Let it add people.** On the same agent, **Skills - Tools & Workflows - Add Participant** on. Colleagues are added by extension and ring on their app and desk phone. To add customers and other outside numbers, also switch on **Allow external numbers**. 4. **Save the people you add often.** The assistant finds people by name among your **team members** (Telephony - Active directory) and your **contacts** (with their phone number). Numbers that are not saved anywhere can go in the agent’s prompt, for example *“Our accountant is Nikos, +30 210 1234567”*. ## Add someone to the call [Section titled “Add someone to the call”](#add-someone-to-the-call) Say the wake word and who to add: *“Λότζικα, πρόσθεσε τον Νίκο”*. * **One person matches:** it dials them and tells you they are being connected. Nobody is dropped. * **Several match:** it asks which one, for example *“Νίκο Παπαδόπουλο ή Νίκο Γεωργίου;”*. Answer with the wake word: *“Λότζικα, τον Παπαδόπουλο.”* * **Nobody matches:** it asks for the number. Say it: *“Λότζικα, πρόσθεσε το 6912345678.”* ## With Claude or ChatGPT [Section titled “With Claude or ChatGPT”](#with-claude-or-chatgpt) Connected to [Claude or ChatGPT](/integrations/claude-chatgpt/)? Ask: * *“Which words wake my assistant?”* * *“Change the wake word to Βοηθέ”* or *“turn off the assistant during my calls”*. * *“Turn on Add Participant and let it call outside numbers.”* * *“Save Maria Papadopoulou, 6912345678, as a contact.”* Ask *“how do I talk to the assistant during a call?”* for the full guide. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Set up Noema on your phone.→](/telephony/setup-mobile-app/)[Caller bar - knowledge assist shows answers on screen during the call.→](/telephony/caller-bar/)[Advanced - Standby on the agent.→](/agent-configuration/advanced-config/) # Call settings **Telephony - Call settings** is company defaults: the **SIP domain** customer PBXes register against, whether every call is recorded, inbound fallback when a seat is busy or silent, and translation voices. The tab label is **Call settings**. The breadcrumb is **Call Recording & SIP**. Same screen. The agent’s [Recording & Privacy](/agent-configuration/recording/) tab is the *per-agent* override - and it loses if this company default is on. ![Telephony Call settings SIP domain and recording defaults](/_derived/thumb/telephony/call-settings.webp) tel-settingsExpand ## What you configure here [Section titled “What you configure here”](#what-you-configure-here) ### Company SIP domain [Section titled “Company SIP domain”](#company-sip-domain) Assigned automatically from the company name (for example `voice-logica-docs.sip.voicelogica.ai`). Incoming PBX on [Trunks](/telephony/your-own-carrier/) and the SIP credentials of your users’ devices wait until it appears. ### Recording & analysis [Section titled “Recording & analysis”](#recording--analysis) Company-wide defaults applied to every call unless a user has their own settings - the user’s settings always win. Set them for one user in their seat under **Team and access**, with the same dropdowns. Record calls **Off**, **Every call** or **On demand**. **Every call**: stereo WAV recording, needed for analysis and supervisor review; an agent that turned recording off **still records**. **On demand**: calls your team handles start without recording; it starts when the user dials the resume code (`**2` by default, set under **Keypad codes and wake word**). Until then nothing is recorded or transcribed. Calls the AI answers are not affected. Analyse calls **Off**, **Every call** or **On demand**. Greyed out while **Record calls** is **Off**. **Every call**: the post-call analysis runs on every recording. **On demand**: calls are recorded but not transcribed or analysed. Press **Analyze** on a call to transcribe and analyse it; the analysis minutes are charged then. The wake word and knowledge assist do not work on those calls. Announce that the call is recorded A separate switch, shown when recording is on. When two people are connected, both hear a short notice that the call is recorded, in your company’s language. ### Keypad codes and wake word [Section titled “Keypad codes and wake word”](#keypad-codes-and-wake-word) What the people on a call control themselves. The codes work only from your own team member’s phone, never from the other party’s. Pause recording Default `**1`. Empty = off. While paused nothing is recorded or transcribed, and the assistant cannot hear the call. Resume recording Default `**2`. Always on: it is the only way back from a pause, and it starts recording on demand. Make the call private Off by default. Hides the call from the rest of the company. Wake word on calls people handle On by default. Every company starts with “Logica” and “Λότζικα”: delete either, or add your own, up to 5. With none left, nothing wakes the assistant. Saying it brings the AI assistant into the call to add a colleague or answer a question. A user can have their own codes and wake word: **Telephony → Active directory** → their seat → **Recording** → **Custom**. From Claude or ChatGPT: *“set the pause recording code to \*\*5”* or *“turn off the wake word for Maria”*. ### Inbound fallback [Section titled “Inbound fallback”](#inbound-fallback) Where inbound calls go when a **seat** is busy or does not answer - not when an AI agent is on the line. ![Inbound fallback When busy and When no answer](/_derived/thumb/telephony/call-settings-form.webp) call-settings-formExpand **When busy** / **When no answer**: typically **Do nothing**, or send to an AI agent, user group, or forward to a number (when available). Per-seat fallbacks override these. ### Translation voices [Section titled “Translation voices”](#translation-voices) **+ Add language** - the voice used during live call translation. Empty state: *No translation voices configured yet.* ### Knowledge assist [Section titled “Knowledge assist”](#knowledge-assist) While someone on your team is on a call, the AI listens to what the caller asks, looks it up in your knowledge and shows the answer in their [caller bar](/telephony/caller-bar/). Never used when the AI handles the call alone. Turn on knowledge assist The default for every user. A user whose seat overrides the company settings uses their own switch. Knowledge to search Empty = the knowledge of the analysis agent. Or pick knowledge bases. ## On the agent [Section titled “On the agent”](#on-the-agent) | Agent place | What this tab supplied | | ------------------------------------------------ | ------------------------------------------------------------------------- | | **Recording & Privacy** | Company **Record calls** on **Every call** can force recording on. | | **Call results** | Company analysis defaults feed post-call extractors when analysis is on. | | **Call handling - Transfer** | A user’s SIP phone registers on this domain before it can take transfers. | | [Conference Rooms](/telephony/conference-rooms/) | Rooms can inherit company analysis defaults. | ## First setup - domain, then decide recording [Section titled “First setup - domain, then decide recording”](#first-setup---domain-then-decide-recording) 1. Open **Call settings**. Confirm the SIP domain is assigned. 2. Leave **Record calls** on **Off** until you want calls recorded. 3. Only then choose **Analyse calls** (it is greyed out while recording is **Off**). 4. Leave inbound fallback on **Do nothing** until seats exist. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Caller bar & knowledge assist - what your team sees during a call.→](/telephony/caller-bar/)[Recording & Privacy - per-agent recording, after you check this default.→](/agent-configuration/recording/)[Your own carrier - Incoming PBX uses this domain.→](/telephony/your-own-carrier/)[Transfer - how the agent hands calls to your users.→](/telephony/transfer/) # Caller bar & knowledge assist > Who is calling, from every connected CRM, in a slim bar in the web panel and the Windows app. Plus answers from your knowledge while you talk. When a call rings **you**, a slim bar appears at the top of the web panel: the caller’s name and company, a chip for every connected integration that knows them (HubSpot, Salesforce, Zoho, Shopify, Soft1…), and your own **Contact**. It does not cover the page and stays for the whole call. With **knowledge assist** on, the bar also shows answers from your knowledge to what the caller asks, while you talk. ## Who sees the bar [Section titled “Who sees the bar”](#who-sees-the-bar) | Call | Who sees it | | --------------------------------------------- | ------------------------------------ | | Rings you directly (your number or extension) | You | | Ring group | Each member, while their phone rings | | The AI transfers the caller to you | You, when the transfer rings | | You call out from the panel or your extension | You (it shows the person you called) | | The AI handles the whole call | Nobody | The bar never goes to the whole company. It appears whichever device rings: the web panel, the Windows app, a softphone or a desk phone. ## What is on it [Section titled “What is on it”](#what-is-on-it) Name and company From the first integration that found the caller, or your contacts. The number when nobody knows them. Integration chips One per integration that found the caller, with its logo. Click to open the record in that CRM or shop. Integrations without a web link (Soft1, Galaxy, Entersoft…) open the details instead. Contact Opens the caller in your Voice Logica contacts. Search in ... For a connected CRM that does not know the caller: opens its search or a new contact. Expand (⌄) Answers from your knowledge, who is calling (each integration’s name, company, phone, email), orders, tickets, reservations and recent calls. **Move it**: drag the name area anywhere; your browser remembers the spot. Double-click it to put it back on top. **Shrink** turns it into a small pill; click the pill to open it again. A new call always arrives full size. **Refresh**: the bar comes back for calls you are still on. A bar you closed with ✕ stays closed. ## In the Windows app [Section titled “In the Windows app”](#in-the-windows-app) The [Windows app](/telephony/setup-windows-app/) shows the same details where they fit the call. One window per call: the slim bar never shows a call the app already has a window for. | Call | Where you see it | | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | Rings in the Windows app | The ringing window: the integration chips and **Contact**, above the caller details | | Answered in the Windows app | The call window: the chips in the side panel, knowledge answers in the middle, under the timer | | You minimize the call window (**–**) or the whole app | The slim bar at the top of the screen, with **Back to call** | | Answered on a desk phone, softphone or mobile | The slim bar at the top of the screen | The slim bar stays on top of your other programs (Soft1, your CRM, the browser) without taking the keyboard, so you can keep typing. Drag it by the name; double-click to put it back at the top. The app remembers where you left it. **Maximize** on the call window fills the app window, **Restore** puts it back. With **When it rings** in Caller card settings, the Windows app opens the record as soon as the call rings. ## In Chrome [Section titled “In Chrome”](#in-chrome) With the web panel closed, the [Chrome extension](/telephony/chrome-extension/) opens the same card in a small window when a call rings you, knowledge answers included. There **When it rings** opens the record as the call rings. ## Choose what the bar shows [Section titled “Choose what the bar shows”](#choose-what-the-bar-shows) **Integrations - Caller card** lists every connected integration that can identify callers: Show Look the caller up in this integration and show it on the bar. Open record by itself **Off**, **When answered** or **When it rings**. When it rings works in the Windows app; in the browser the record opens when you click Answer (browsers block tabs opened without a click). Primary The chip shown first, and the one that opens by itself. **No primary**: the first integration that finds the caller. Changes save on their own. These are the company’s settings. Each person can change their own **Primary** and **Open record by itself** in **Profile - My caller card** ([My caller card](#my-caller-card)). **Show** stays a company setting. ### Custom links [Section titled “Custom links”](#custom-links) For a system without an integration (your own CRM, an intranet, a search page), add a **custom link**: a button on the card whose address is filled with the caller’s number on every call. 1. **Integrations - Caller card - Custom links - Add a custom link**. 2. **Button text**: what the button says, for example *Our CRM*. 3. **Link (URL)**: the address, with the variables where the number goes. Click a variable to insert it; **On a call it opens** shows the result with a sample number. 4. **Save**. Then set **Show**, **Open record by itself** and **Primary** as for an integration. | Variable | Filled with | | ------------------ | ------------------------------------------- | | `{{phoneNumber}}` | The number as it called, e.g. +306945123378 | | `{{phoneDigits}}` | Digits only, e.g. 306945123378 | | `{{phoneLocal}}` | Without the country code, e.g. 6945123378 | | `{{callId}}` | The call’s id in Voice Logica | | `{{contactName}}` | The caller’s name in your contacts | | `{{contactEmail}}` | The caller’s email in your contacts | Example: `https://crm.example.com/customers?search={{phoneLocal}}`. **Open a program on the computer.** A link can also start a program that registered its own link type, for example `callto:{{phoneDigits}}`, `sip:{{phoneDigits}}` or the program’s own scheme (ask its vendor). The browser asks once before opening it; tick **Always allow** to skip the question next time. Use `{{phoneDigits}}` there: in a link the `+` of `{{phoneNumber}}` becomes `%2B`. `javascript:`, `data:` and `file:` links are refused. The link shows on every call, also when no integration knows the caller. Only one integration or link can be **Primary**. Up to 10 links per company. ## My caller card [Section titled “My caller card”](#my-caller-card) Each user can make their own choices for the card in **Profile - My caller card**. Admins don’t need to turn anything on. Open the card on The integration or custom link the card opens on, and the one that opens by itself. Default: **Company setting (…)**. Yours applies only when that integration found the caller; otherwise the company’s primary is used. Open the caller's record by itself One for each integration or custom link that can open a record: **Company setting (…)**, **Off**, **When answered** or **When it rings**. Anything left on **Company setting** follows **Integrations - Caller card**. Which integrations show on the card at all (**Show**) is decided by the company only. Search and new-record links for a caller nobody knows never open by themselves. Your choices apply wherever you get the card: the bar in the web panel, the Windows app and the Chrome extension. **When it rings** opens the record as the call rings in the Windows app and the Chrome extension; in the web panel it opens when you click Answer. From Claude or ChatGPT: *“list my settings”* shows them, and `execute_mine` with `set_caller_card_preferences` changes them. ## Knowledge assist [Section titled “Knowledge assist”](#knowledge-assist) While you are on a call, the AI listens to what the **caller** asks, looks it up in your knowledge and shows the answer on your bar within a few seconds: the question, a short answer, the source and its links. When nothing in your knowledge answers clearly, you see a grey **No answer in your knowledge** card with the caller’s question and what was searched, so you know it looked. That question goes to **Unanswered questions** in the [Learning Center](/learning-center/), so your team can fill the gap. In the Windows app, two phrasings of one question that find the same answer show as one card, with the other phrasing under **Also asked**. 1. **Telephony - Call settings - Knowledge assist**: turn it on. This is the default for every user. 2. **Knowledge to search**: leave empty to use the knowledge of the analysis agent, or pick knowledge bases. 3. To turn it off (or on) for one person, set their seat to override the company settings in **Telephony - Active directory**, then switch **Knowledge assist** there. Each answer is also saved on the call as a **knowledge\_assist** tool step, with the question, the answer and the links, so you see it in the call transcript later. ### Send it to the caller [Section titled “Send it to the caller”](#send-it-to-the-caller) Say the wake word of your assistant on the call (for example “Ράνια, στείλε του τις τιμές με SMS”). The assistant has the answers knowledge assist found. With [Send Info Page by SMS](/agent-configuration/built-in-tools/) on the analysis agent it writes them as a web page and texts the caller the link. On the call’s page, **Tracked links** shows whether it was opened and which links were clicked. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Call settings - turn knowledge assist on for the company.→](/telephony/call-settings/)[Integrations - connect the CRMs the bar looks callers up in.→](/integrations/)[Tools & Workflows - Send Info Page by SMS for the assistant.→](/agent-configuration/built-in-tools/) # Carrier settings > Values that work for Yuboto, Modulus, Supervoice, Inter Telecom, Telnyx, Twilio, Plivo, Cosmote and Vodafone, and the problems we see most with each. Settings for the carriers our customers connect most often, taken from trunks that work in production. For the steps to add a trunk, see [Your own carrier](/telephony/your-own-carrier/). For an office phone system (Panasonic, Grandstream, Yeastar, 3CX, FreePBX, Issabel, Alcatel, Avaya), see [Connect your PBX](/telephony/connect-your-pbx/). In **Telephony → Add Trunk**, pick the carrier: the app fills in the host, port and transport below. You add the username, password and numbers. ## Yuboto [Section titled “Yuboto”](#yuboto) **MyVoIP SIP trunk** | Field | Value | | ------------------- | ------------------------- | | Host | `sip.yuboto-telephony.gr` | | Port / transport | 5060, UDP | | Registration | on, expiry 300 | | Username / password | from **MyVoIP → Devices** | Some accounts get their own endpoint instead of the shared host. MyVoIP → Devices shows it. **Yuboto cloud PBX (vPBX) extension** When the agent should be an extension of a Yuboto cloud PBX, connect it as an extension of that PBX: | Field | Value | | ------------------- | ------------------------------------------------------------------------------------------------------------------------ | | Host | your PBX’s address, `.vpbx2.yuboto.com` | | Port / transport | the ones your PBX shows for that extension. Each PBX has its own port (5060 to 5086 in the PBXs we see), mostly over TCP | | Username / password | the extension’s | A wrong port or transport gets no reply at all, not an error: copy both exactly from the PBX. ## Modulus [Section titled “Modulus”](#modulus) | Field | Value | | ---------------- | ------------------------------------------------------- | | Host | `voips.modulus.gr` | | Port / transport | 5060, UDP | | Registration | on, expiry 300 | | Username | the **Auth ID** Modulus gives you, not the SIP username | * **Add every number to the trunk.** Modulus sends the calls of all its customers from the same address, so we route each call by the number dialled. A call to a number that is not on any trunk is rejected rather than risk reaching another company. ## Supervoice [Section titled “Supervoice”](#supervoice) | Field | Value | | ---------------- | ------------------- | | Host | `sip.supervoice.eu` | | Port / transport | 5061, **TLS** | | Registration | on, expiry 300 | If Supervoice gives you an outbound proxy, add it under **Advanced** on the trunk. ## Inter Telecom [Section titled “Inter Telecom”](#inter-telecom) | Field | Value | | ---------------- | ------------------------------------------------------------------------------ | | Host | `sip.intertelecom.gr`, or the address Inter Telecom gives you for your account | | Port / transport | 5060, UDP | | Registration | on, expiry 300 | Confirm the exact host with Inter Telecom (+30 2170007000); some accounts get their own. ## Telnyx [Section titled “Telnyx”](#telnyx) | Field | Value | | ---------------- | ---------------------------------------------------- | | Host | `sip.telnyx.com` (`sip.telnyx.eu` for the EU region) | | Port / transport | 5060, UDP | | Registration | on | | Username | the SIP Connection’s **Auth ID** | Telnyx keeps **one registration per credentials-based SIP Connection**. If the same credentials are also on a softphone, desk phone or another platform, the trunk keeps dropping with 401. Details in [Your own carrier → Telnyx](/telephony/your-own-carrier/#telnyx). ## Twilio [Section titled “Twilio”](#twilio) | Field | Value | | ---------------- | --------------------------------------------------------------------------- | | Host | your Elastic SIP Trunk’s **Termination SIP URI** (`.pstn.twilio.com`) | | Port / transport | 5060, UDP | | Authentication | by IP, both directions. No registration | In Twilio, add the Voice Logica IP addresses to the trunk’s **IP Access Control List** (Support gives you the current list), and point its **Origination** at your company’s SIP address (Telephony → Call settings). ## Plivo [Section titled “Plivo”](#plivo) | Field | Value | | ---------------- | ---------------------------------------------------------------------------------- | | Host | `phone.plivo.com` | | Port / transport | 5060, UDP | | Incoming calls | by IP: add Plivo’s inbound IPs for your region under **Advanced → Authentication** | ## Cosmote, Vodafone and Nova [Section titled “Cosmote, Vodafone and Nova”](#cosmote-vodafone-and-nova) * **Business SIP trunk:** Cosmote and Vodafone authenticate by IP. Ask your account manager for their signalling IPs and add them under **Advanced → Authentication**. * **A landline on the internet router:** see [Cosmote, Vodafone and Nova](/telephony/greek-carriers/). Vodafone needs host `62.38.86.150`, expiry 3600 (300 is rejected) and the [edge device](/telephony/edge-device/), because it accepts registrations only from inside its network. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Your own carrier - add the trunk and its numbers.→](/telephony/your-own-carrier/)[Connect your PBX - an office phone system instead of a carrier.→](/telephony/connect-your-pbx/)[Cosmote, Vodafone and Nova - Greek landlines and forwarding.→](/telephony/greek-carriers/)[Edge device - for carriers that accept only their own network.→](/telephony/edge-device/) # Chrome extension > The caller, their CRM records and live answers from your knowledge, in a Chrome window during your calls, even with the web panel closed. The Voice Logica extension for Chrome shows the [caller bar](/telephony/caller-bar/) without the web panel open. When a call rings **you**, a small window opens beside your work with the caller, their CRM records and, with knowledge assist on, the answers from your knowledge while you talk. It only listens: it never rings, answers or places calls. Answer on the phone you already use: desk phone, softphone, the Windows app or your mobile. ## Who can use it [Section titled “Who can use it”](#who-can-use-it) Anyone with a **Windows seat** or a **SIP seat** in your company. Without one, sign-in stops with *The Chrome extension needs a Windows or SIP seat. Ask your admin to assign you one.* If your seat is removed later, the extension signs you out within minutes. A mobile-only seat (Noema) is not enough: Noema calls do not produce a caller card. ## Install [Section titled “Install”](#install) 1. Open [Voice Logica on the Chrome Web Store](https://chromewebstore.google.com/detail/jgpnbkoeeefomlmkebbpemicmloenomg) and click **Add to Chrome**. Microsoft Edge installs it the same way. 2. Pin **Voice Logica** from the puzzle piece in the toolbar. Chrome keeps it up to date by itself. In the web panel, **Set it up** on the dashboard banner (until the launch offer ends on 22/10/2026) and the **Chrome extension** card in **Profile** (shown when you have a seat) open the **Chrome extension** page with the store link. Admins also find it in **Integrations - Caller card**. ### Install manually [Section titled “Install manually”](#install-manually) The **Chrome extension** page keeps a manual install as a fallback, under **Install manually instead**: 1. **Download the extension (.zip)** and unzip it into a folder you will keep (Chrome loads it from there). 2. Open `chrome://extensions` and turn on **Developer mode** (top right). 3. Click **Load unpacked** and choose the unzipped folder. 4. Pin the **Voice Logica** icon and sign in. A manual install does not update by itself: download again, replace the folder contents and click **Reload** in `chrome://extensions`. ## Sign in [Section titled “Sign in”](#sign-in) 1. Click the **Voice Logica** icon - **Sign in**. Leave **Server** on **Production**. 2. A Voice Logica window opens. Sign in as usual (password, Google or Microsoft, two-factor) if you are not signed in already. 3. **Connect the browser extension**: check the account and click **Connect**. The window closes and the icon shows **Connected. Waiting for calls.** The extension never sees your password. It keeps its own session: signing out of the web panel does not sign it out, and **Sign out** in the extension ends only the extension’s session. ## The call window [Section titled “The call window”](#the-call-window) It opens by itself when a call rings you, at the right of your browser window, and comes to the front for each new call. Name and company From the first integration that found the caller, or your contacts. The number when nobody knows them. Ringing / Answered / Call ended Where the call is. Answered by a colleague: the call leaves your window. Open the contact The caller in your Voice Logica contacts. Open in ... The record in each CRM or shop that knows the caller. It opens in a tab of your normal Chrome window. Search in ... For a connected CRM that does not know the caller: its search or a new contact. Transfer reason Why the AI transferred the caller to you. From your knowledge Answers to what the caller asks, newest first, with **Open in the knowledge base** and the source links. Orders, tickets, reservations, recent calls The caller’s latest records from your integrations. An ended call stays in the window for 30 minutes, so you can finish your notes; ✕ closes it sooner. The window closes when a call that rang you is gone before anyone answered. **Open record by itself** in **Integrations - Caller card** works fully here: **When it rings** opens the record as the call rings, **When answered** when you pick up on your own phone. Your own choices in [**Profile - My caller card**](/telephony/caller-bar/#my-caller-card) apply here too. ### Recording during the call [Section titled “Recording during the call”](#recording-during-the-call) On your own live call the window shows **Recording** (red dot) or **Recording paused**, a **Pause recording** / **Resume recording** button and **Analyse this call**. Pausing works like dialling `**1`: nothing is recorded, transcribed or analysed until you resume, and paused time costs no analysis minutes. **Analyse this call** off: no summary or analysis after this call. In the toolbar popup, **Record my calls** and **Analyse my calls** set what happens on every call. If your company decides recording for everyone, the switches are greyed out. ## Settings [Section titled “Settings”](#settings) Click the **Voice Logica** icon: Open a window on calls Off: no window opens by itself. The calls still show in **Open call window**. Open call window Opens the window now, with the calls in progress. Recent calls Your last 8 calls (incoming, outgoing, missed in red) with **Call back** on each, which opens the same call window as a search result. Hidden while you type in the search box. My caller card settings Opens **Profile - My caller card** in the web panel: which integration the card opens on, and which records open by themselves. Status **Connected**, **Connecting** or **Offline. Reconnecting**. A red **!** on the icon means the session ended: sign in again. ## Search a contact [Section titled “Search a contact”](#search-a-contact) Click the **Voice Logica** icon and type or paste a name, number or email in the search box. It looks in your contacts and every connected CRM and e-shop at once, like the dialpad in the web panel. Each result shows where it was found; **Open** opens the record (or the contact in Voice Logica), and **Call with Voice Logica** opens the call window for that number. ## Call a number [Section titled “Call a number”](#call-a-number) Right-click a phone number on any page (select it first, or right-click a phone link) and choose **Call with Voice Logica**, or click it on a search result. A small window opens with the number, their name (optional) and how to call: | How | What happens | | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **My assistant calls them and puts them through to me** | An AI agent calls with your caller ID, says it is calling on your behalf and why (*Why you are calling*, optional), asks whether they can talk to you now and puts them through: your desk phone, the Windows app and Noema all ring. If you don’t answer, or they can’t talk now, it takes a message and a time to call back, as a callback task for you. Pick the **Agent**; the company default is preselected. | | **My mobile rings, then it dials them** | Your verified mobile rings first; when you answer, the number is dialed and you are connected. | | **I dial the bridge number from my mobile** | The window shows a number: call it from your verified mobile within 2 minutes and you are connected. | Your default is **My profile - When I call a number from the Chrome extension**; the window lets you pick another way for one call. The two mobile ways need your mobile number verified in your profile. Your own AI (Claude, ChatGPT) can do the same: `assistant_call` for an assistant call, and `execute_mine` with `set_click_to_call_method` to change your default. ## Works with [Section titled “Works with”](#works-with) The window shows the caller from every connected integration that has **Show** on in **Integrations - Caller card**. | Integration | Shows the caller | “Open in …” button | | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | HubSpot, Salesforce, Zoho CRM | Yes, on every call | Yes, opens the contact or lead | | Shopify, WooCommerce | Yes, with recent orders | Yes, opens the customer | | Airtable, Odoo | Yes | Yes, opens the record | | Soft1, Entersoft, Galaxy, Galaxy ERP, Pylon, SAP, Megasoft | Yes, with balance and orders where the ERP has them | No: each company’s ERP address is different. Use a [custom link](/telephony/caller-bar/#custom-links) | | Magento, OpenCart, PrestaShop, GonnaOrder, Splynx | Yes, with orders or services | No. Use a custom link | | Guesty, Hosthub, Freshdesk, Zendesk, Jira, Exelixis Smart, Custom API | When the AI agent looked the caller up (the integration’s tool has caller identification on), e.g. calls the AI answers and transfers to you | No. Use a custom link | | Your own contacts | Yes, on every call | **Open the contact** | Not on the card: integrations that cannot look a caller up by phone, such as WebHotelier, Trello, ClickUp, monday.com and the couriers. For any system with a web address, a **custom link** adds the button yourself: a URL with the caller’s number, for example `https://crm.example.com/customers?search={{phoneLocal}}`. It shows on every call and can open by itself. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Caller bar & knowledge assist - what the card shows and who gets it.→](/telephony/caller-bar/)[Integrations - connect the CRMs callers are looked up in.→](/integrations/) # Conference Rooms **Telephony - Conference Rooms** is a dial-in bridge: one extension, optional PIN, a capacity. Team members and AI agents join the same room. Inbound / trunk defaults can point at a **Conference room**. ![Telephony Conference Rooms empty state](/_derived/thumb/telephony/conference-rooms.webp) tel-roomsExpand Empty state: **No conference rooms yet** - *Create a dial-in bridge so callers and AI agents can join the same conference. Pick an extension, optional PIN and capacity.* Button: **+ New conference room**. ## What you configure here [Section titled “What you configure here”](#what-you-configure-here) **+ New conference room** opens **New Conference Room** (*A dial-in bridge callers and AI agents can join.*): NameREQUIRED What routing and the directory show. ExtensionREQUIRED The short number on [Active directory](/telephony/active-directory/). PIN Optional. Callers enter this before joining. Leave blank for none. Max participantsREQUIRED Between 2 and 500. Transcribe conference Generate a text transcript alongside the recording. Analyze calls Run an AI agent over the conversation for insights. Enabled When off, the room can’t be dialed. ![New Conference Room drawer](/_derived/thumb/telephony/conference-rooms-form.webp) conference-rooms-formExpand Do not publish a PIN room extension as a customer number. Front a PIN room with an agent that collects the PIN and uses **join\_conference** on Tools & Workflows. ## On the agent [Section titled “On the agent”](#on-the-agent) | Agent place | What this tab supplied | | ---------------------------------------------- | --------------------------------------------------------------------------------- | | [Routing](/telephony/routing/) / trunk default | Destination type **Conference room**. | | **Tools & Workflows** | **join\_conference** for PIN rooms. | | **Call handling - Transfer** | Transfer types are User / User group / AI agent / External - not Conference room. | ## First setup - an open bridge, then a PIN room later [Section titled “First setup - an open bridge, then a PIN room later”](#first-setup---an-open-bridge-then-a-pin-room-later) 1. **+ New conference room** - name, extension, no PIN, capacity, enable, **Save**. 2. Point a test inbound route or trunk default at this room - or dial the extension from a registered seat. 3. Confirm people hear each other. Open **Calls**. 4. Only then add a PIN. Put an agent in front: greeting asks for the PIN, **join\_conference** on. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Routing - land a DID on the room.→](/telephony/routing/)[Call settings - company analysis default.→](/telephony/call-settings/)[Transfer - conversational handoff (rooms are not a Transfer type).→](/telephony/transfer/) # Connect your PBX > Connect a Panasonic, Grandstream, Yeastar, 3CX, FreePBX, Alcatel-Lucent OXO, Avaya IP Office, Unify, iPECS, NEC or any SIP phone system to a Voice Logica AI agent, with no port forwarding. Keep your office phone system and add an AI agent to it. Your PBX registers a SIP trunk **out** to Voice Logica, like it does with a phone provider. Nothing opens a port, and the PBX needs no public IP. Once connected: * the PBX sends the calls you choose to the AI agent: a number, an IVR option, a queue overflow, after-hours calls or a short code; * the agent can transfer callers back to your extensions over the same trunk. ## In the app [Section titled “In the app”](#in-the-app) 1. Go to **Telephony - Trunks** and click **Connect your PBX**. 2. Pick your phone system and the AI agent that answers the calls. Click **Create connection**. 3. Copy the **server**, **port**, **username** and **password** into the PBX. Save the password: it is shown only once. 4. Follow the steps for your make, which the dialog shows with your values already filled in. 5. Leave the dialog open. It changes to **Connected** as soon as the PBX registers, usually within a minute. If it says **Your PBX was rejected**, the password or username is wrong. If it keeps **Waiting for your PBX**, see [Troubleshooting](#troubleshooting). ## From Claude or ChatGPT [Section titled “From Claude or ChatGPT”](#from-claude-or-chatgpt) With the [Voice Logica connector](/integrations/claude-chatgpt/), say *“connect my Panasonic PBX to my agent”*. The assistant creates the connection (`connect_pbx`), gives you the values, walks you through the steps one at a time, and checks the connection (`pbx_query`, action `"check_pbx_connection"`) until it is live. ## The values [Section titled “The values”](#the-values) | Field on the PBX | Value | | -------------------------------- | --------------------------------------------------------- | | Server, registrar, proxy, domain | `.sip.voicelogica.ai` (shown in the dialog) | | Port | `5060` over UDP (`5061` for TLS) | | Username and authentication ID | the generated username, for example `pbx123456` | | Password | the generated password | | Registration | on | | Codecs | G.711 A-law first, then G.711 u-law | | DTMF | RFC 2833 / RFC 4733 (out of band) | ## Steps per phone system [Section titled “Steps per phone system”](#steps-per-phone-system) Each make has its own page under [Phone systems (PBX)](/phone-systems/): how Voice Logica connects to it, what licences or cards it needs, the trunk steps in its own menus, how to send calls to the agent and how the agent transfers back to extensions. The dialog shows the same steps with your values filled in, and links the page for your make. | Phone system | Page | | --------------------------------------------------------------------------- | -------------------------------------------------------------- | | Panasonic KX-NS / NSX, KX-TDE / NCP, KX-HTS, KX-TDA15 / TDA30 | [Panasonic](/phone-systems/panasonic/) | | Panasonic KX-TDA100-600, KX-TES / TEM / TA and other analog or ISDN systems | [Analog and ISDN systems](/phone-systems/analog-and-isdn/) | | Grandstream UCM | [Grandstream](/phone-systems/grandstream/) | | Yeastar P-Series, S-Series | [Yeastar](/phone-systems/yeastar/) | | 3CX | [3CX](/phone-systems/3cx/) | | FreePBX, Asterisk, Issabel, Elastix | [FreePBX, Asterisk, Issabel](/phone-systems/freepbx-asterisk/) | | Alcatel-Lucent OXO | [Alcatel-Lucent OXO](/phone-systems/alcatel-lucent/) | | Avaya IP Office | [Avaya IP Office](/phone-systems/avaya/) | | Unify OpenScape Business, Siemens HiPath | [Unify / Siemens](/phone-systems/unify-siemens/) | | Ericsson-LG iPECS | [iPECS](/phone-systems/ipecs/) | | NEC SL2100, SL1100, SV9100 | [NEC](/phone-systems/nec/) | | Mitel, Samsung, Cisco, Wildix, Zycoo, Xorcom, any SIP PBX | [Other makes](/phone-systems/other/) | ### Transfers back to extensions [Section titled “Transfers back to extensions”](#transfers-back-to-extensions) The agent hands the caller back over the same trunk with the extension number, and the PBX rings the extension. Add each extension as a transfer destination on the agent: an **External** destination with the extension number (for example `201`), or a **User** with that extension. Use **Warm** transfer: if nobody answers, the agent comes back and takes a message. A Warm transfer uses two trunk channels until it connects. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) * **Waiting for your PBX:** nothing has arrived yet. Check the trunk is saved and enabled with registration on, the server and username are exactly as shown, and the PBX can reach the internet on UDP 5060. Turn off **SIP ALG** on the office router: it rewrites SIP and is the most common cause. Some PBXs need a restart (Panasonic: card OUS, then INS). * **Your PBX was rejected:** the password or username is wrong. Username and authentication ID must both be the generated username. Some PBXs keep the old password until the trunk is restarted. * **Connected, but no audio:** allow RTP (UDP) out from the PBX and turn off SIP ALG. * The trunk’s **SIP logs** (Telephony - Trunks → the trunk) show every REGISTER and our reply. A PBX that cannot register a SIP trunk but takes SIP extensions is reached through an [edge device](/telephony/edge-device/). A PBX with no SIP at all connects through a gateway: see [Analog and ISDN systems](/phone-systems/analog-and-isdn/). ## Questions [Section titled “Questions”](#questions) # Destinations **Telephony** is company-wide. The agent editor is per agent. You build people, groups, rooms, and named transfers **here**. You turn them on for **this** agent **there**. Doing only one side leaves the agent with nowhere to send, or a route pointed at something that does not exist. This page is the map. Each Telephony tab has its own walkthrough. ## Company here, agent there [Section titled “Company here, agent there”](#company-here-agent-there) | You configure | On Telephony | The agent uses it | | ------------------------------- | -------------------- | -------------------------------------------------------------------- | | Trunk + numbers | **Trunks** | **Channels - Telephony** - which DID this agent answers | | Second landing / caller-ID pool | **Routing** | Agent telephony add-route (when shown), and outbound campaigns / API | | People and seats | **Active directory** | **Call handling - Transfer** type **User** | | Several people, one extension | **User Groups** | Transfer type **User group**; inbound / trunk default | | Dial-in bridge | **Conference Rooms** | Routing destination; PIN rooms need **join\_conference** | | SIP domain + recording default | **Call settings** | User-extension transfers; **Recording & Privacy** | [Active directory](/telephony/active-directory/) who to dial [User Groups](/telephony/user-groups/) ring several people [Conference Rooms](/telephony/conference-rooms/) dial-in bridges [Call settings](/telephony/call-settings/) SIP + recording default ## First setup - one destination the agent can say [Section titled “First setup - one destination the agent can say”](#first-setup---one-destination-the-agent-can-say) 1. **A production number already rings this agent** - [Get a number](/telephony/). 2. **Create the person or group** - [Active directory](/telephony/active-directory/) (invite / seat) or [User Groups](/telephony/user-groups/). ![Active directory with seated user and AI agent](/_derived/thumb/telephony/destinations-form.webp) destinations-formExpand 3. **Open the agent - Call handling - Transfer** - On, Warm, one line in **When and where to transfer** that uses that name. [Transfer](/telephony/transfer/). ![Agent Transfer Specific destinations type picker](/_derived/thumb/telephony/destinations-add.webp) destinations-addExpand 4. **Call the production DID** and ask to be passed. Listen on **Calls**. Skip Conference Rooms until someone should join a bridge. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Active directory - people and click-to-call.→](/telephony/active-directory/)[User Groups - several people, one extension.→](/telephony/user-groups/)[Transfer - turn the catalog on for *this* agent.→](/telephony/transfer/) # Edge device An edge device is a small connector you install inside the customer’s network. It lets Voice Logica reach a phone system (PBX) that has no public address - an on-premise PBX at `192.168.x.x`, `10.x.x.x` or `172.16-31.x.x`. It only makes **outbound** connections. Nobody opens a port, forwards anything, or gives the PBX a public IP. ## Do you need one [Section titled “Do you need one”](#do-you-need-one) | The PBX or carrier is… | What to use | | --------------------------------------------------- | -------------------------------------------------------------------- | | On the office LAN, private IP only | **Edge device** (this page), then a **Local IP PBX** trunk | | Reachable from the internet (public IP or hostname) | [Your own carrier](/telephony/your-own-carrier/) - **Public IP PBX** | | A SIP carrier (Yuboto, Telnyx, Twilio…) | [Your own carrier](/telephony/your-own-carrier/) - **VOIP provider** | | Registers to us (the PBX dials out) | [Your own carrier](/telephony/your-own-carrier/) - **Incoming PBX** | If you type a private address into a **Public IP PBX** trunk, the drawer blocks it and offers **switch to Local IP PBX**. That is the signal you need a device. ## How it works [Section titled “How it works”](#how-it-works) 1. The device keeps a control connection to `calls.voicelogica.ai` over **TCP 443** (secure WebSocket). 2. It brings up a **WireGuard** tunnel to Voice Logica over **UDP 51820**. SIP and call audio travel inside that tunnel. 3. On the LAN side it talks to the PBX like any other SIP phone or trunk. Both connections start from inside the network. The device cannot be reached from the internet, cannot run arbitrary commands, and cannot reach the rest of your network. ## Network requirements [Section titled “Network requirements”](#network-requirements) Send this list to whoever runs the site firewall **before** install day. 1. An **always-on machine** on the same network as the PBX: a Windows PC, a Linux box or Raspberry Pi, or a virtual machine. Not a laptop that sleeps or leaves the office. 2. **Outbound TCP 443** to `calls.voicelogica.ai`. The name must resolve - DNS filtering that blocks our domain stops enrollment. 3. **Outbound UDP 51820** to `calls.voicelogica.ai`. Without it the device shows online, and calls have no audio. 4. **All UDP both ways** between the device and the PBX. A rule for port 5060 alone is not enough - audio uses changing ports. 5. **No inbound ports**, no port forwarding, no public IP. Full network sheet for IT: [network requirements](https://voicelogica.s3.eu-north-1.amazonaws.com/edge/network-requirements.html). ## Install the device [Section titled “Install the device”](#install-the-device) You can start from two places. Both produce the same device: * **Telephony - Trunks - + Add Trunk - Local IP PBX.** The drawer shows **Download the connector** with **Windows**, **Linux** and **VM image**, then waits for the device. Use this when you are connecting a PBX right now. * **PBX Edge Devices** (`app.voicelogica.ai/phones/edge-devices`) - **Add Edge Device**. Use this to prepare a device ahead of time, or to **Email the steps to the customer** when someone else is on site. In **Add Edge Device**, give it a **Site label** (the office name, for example “HQ Office”), pick the **Platform**, then choose **I’ll set it up now** or **Email the steps to the customer**. The main button changes to match. * Windows 1. Pick **Windows** and click **Download installer**. The `.exe` is built for your company - the token is inside, nothing to type. 2. Copy it to the always-on Windows PC next to the PBX. Run it and accept the prompts. 3. It installs WireGuard and the connector as a service and connects by itself. It starts again after a reboot. The download link is valid for **4 hours**. After that, download a fresh one (**Redownload Windows** in the trunk drawer). If antivirus or a browser policy blocks the `.exe`, run the PowerShell one-liner instead in an **Administrator** PowerShell: ```powershell $env:EDGE_TOKEN=''; irm https://calls.voicelogica.ai/install.ps1 | iex ``` Claude or ChatGPT hands you this line with the token already filled in - see [Or let Claude do it](#or-let-claude-do-it). * Linux / Raspberry Pi 1. Pick **Linux / Raspberry Pi** and click **Get install command**. 2. Copy the line and run it on the Linux machine: ```bash curl -fsSL https://calls.voicelogica.ai/install.sh | sudo bash -s -- --token ``` 3. It needs `curl` and `sudo`. It uses **Docker** and installs it if it is missing. At the end the script runs a short preflight - DNS, TCP 443 and the local firewall - and prints a block to send to IT if anything fails. Read it before you leave the machine. The token in the command is valid for **72 hours**. * Virtual machine 1. Pick **Virtual machine** and click **Download appliance**. 2. The appliance page has the image for **VirtualBox**, **VMware** or **Proxmox** and the steps to import it. 3. Give the VM a network adapter **bridged** onto the PBX network, not NAT, so it gets an address on the same LAN. 4. Start the VM. Within a minute its console screen shows **Claim code** followed by a code like `7K2M-9QXR`. 5. On **PBX Edge Devices**, click **Add Edge Device**, pick **Virtual machine**, enter the code under **Claim code** and click **Claim device**. Or give the code to Claude or ChatGPT: *“Claim my edge device, the code is 7K2M-9QXR.”* The VM downloads without a company inside it, so the code is how it joins yours. It works for **24 hours** after the VM first starts. Once the device is claimed, the code disappears from the screen. ## Wait until it is online [Section titled “Wait until it is online”](#wait-until-it-is-online) The token ties the device to your company, so it is approved automatically. A virtual machine is approved when you claim it with its code. Watch it on **PBX Edge Devices** (the list refreshes on its own) or in the trunk drawer: State **Pending** - just enrolled. **Approved** / **Active** - ready to use. **Revoked** - cannot be used; install a new one. Online **Online** once the device holds its control connection. PBX The PBX address the device is set to use, or **Not set**. In the trunk drawer the pill changes from **Not connected** to **Live**, and **Next steps** appears. **Refresh devices** checks now. Online is not the same as working **Online** only proves TCP 443. Audio needs the WireGuard tunnel on UDP 51820. When that port is blocked, the trunk drawer shows **Connected, but the tunnel is down (UDP 51820)**. Fix the firewall before you create the trunk. ## Connect the PBX [Section titled “Connect the PBX”](#connect-the-pbx) 1. **Telephony - Trunks - + Add Trunk - Local IP PBX** Name the trunk after the site. If the device is already **Live**, the form unlocks right away. 2. **Pick the PBX** Under **Suggested PBXs on this LAN**, click **Find PBXs**. The device scans its subnets for SIP hosts. Click a suggestion, or type the PBX’s LAN IP yourself. 3. **Set the SIP port if it is not 5060** **Advanced - Port**. Some PBXs listen elsewhere - Alcatel OXO commonly uses **5059**. Ask the PBX admin if unsure. 4. **Test now** Sends SIP OPTIONS to the PBX through the device. Any answer - including **401/407** (wants credentials) - means SIP is flowing. **No SIP response** means wrong IP or port, or something between the device and the PBX drops SIP. 5. **Credentials** The extension (or SIP trunk account) the PBX created for Voice Logica: **Username**, **Password**, and **Login (Authorization ID)** if the PBX uses a separate one. 6. **Destination, then Create Trunk** Point unrouted calls at your AI agent. **Create Trunk**. Registration should show online within a minute. 7. **Send calls to the agent and dial in** Route a number or a PBX queue / extension to the new trunk on the PBX side, connect it to the agent under **Channels - Telephony**, and call it from a real phone. Check **Calls**. See [Your own carrier](/telephony/your-own-carrier/) for numbers and default destination. To change the PBX address on an existing device later, use the slider icon (**Configure PBX settings**) on its row in **PBX Edge Devices** - **PBX IP address** and **SIP port**, then **Save**. Pushing new settings restarts the device’s SIP relay, so do it outside a live call. ## Router audio ports [Section titled “Router audio ports”](#router-audio-ports) Some routers let call audio back in only on a fixed range of UDP ports that is forwarded to one computer. This is common when a carrier line runs over the carrier’s own router (for example Vodafone). Calls then ring and connect, but nobody hears anything: the device sends audio out, and nothing comes back. The fix is to tell the device which ports the router forwards, so it uses exactly those for call audio. 1. **Forward the ports on the router.** In the router’s settings (usually **Firewall → Port Forward**), forward **UDP 10000-10020** to the computer running the device (its LAN address, e.g. `192.168.1.3`). If the router already forwards a range to that computer, use that range instead. 2. **Set the same range.** Telephony → Trunks → open the trunk → **Router audio ports** → type `10000-10020` → **Apply**. Or ask Claude: “set the edge device audio ports to 10000-10020”. 3. **Close other phone apps** on that computer (softphones such as MicroSIP). Two programs cannot use the same ports. 4. **Make a test call.** Both sides should hear each other right away. Each call uses two ports, so `10000-10020` carries 10 calls at the same time. To go back to the device’s own ports, clear the field and press **Apply**. The setting belongs to the device: every trunk on it uses it. It needs device version 1.1.39 or newer, which installs itself. Prefer help? If you [connected Claude or ChatGPT](/integrations/claude-chatgpt/), say **“my calls have no audio”**. It reads the device’s audio counters, tells you what to forward and sets the ports for you. ## Or let Claude do it [Section titled “Or let Claude do it”](#or-let-claude-do-it) If you have [connected Claude or ChatGPT to Voice Logica](/integrations/claude-chatgpt/), say **“connect my PBX”**. The assistant gives you the Windows download link (or the Linux command) with the token inside, watches the device come online, asks for the PBX IP, SIP port and extension login, and creates the trunk through the device. Walkthrough: [Connect your PBX from Claude](/integrations/claude-chatgpt/#connect-your-pbx-from-claude). ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Your own carrier - trunk types, numbers, default destination.→](/telephony/your-own-carrier/)[Claude and ChatGPT - connect your PBX from a chat.→](/integrations/claude-chatgpt/)[Routing - when one number should land somewhere else.→](/telephony/routing/)[Transfer - hand calls back to people on the PBX.→](/telephony/transfer/) # Forward your number to the agent After you buy a plan, a company in Greece gets one free Voice Logica number. Customers keep calling the number they already know: you forward that number to the free number at Cosmote, Vodafone or Nova, and the agent answers. 1. **Order the free number** Open the agent → **Channels → Telephony** → **Get your free Phone Number**. Enter the business owner’s email and open the order link. The link goes to a short Yuboto form (our Greek carrier) that the owner completes. If someone else is setting up, send them the link by email. From Claude or ChatGPT, `get_free_number` does the same thing and returns the link. Details are in [Voice Logica numbers](/telephony/voice-logica-numbers/). 2. **Wait for activation, then call it** Once Yuboto activates the number it appears on the agent’s **Telephony** tab. Call it from your mobile and check that the agent answers and the call shows in **Calls**. 3. **Forward your business number to it** Dial the codes from the phone whose calls you want to forward. Replace `NUMBER` with the free number, all 10 digits (for example `21XXXXXXXX`). **Mobile (Cosmote, Vodafone, Nova)** | Forward | Turn on | Turn off | | ------------------------------------ | -------------- | -------- | | All calls | `**21*NUMBER#` | `##21#` | | When you don’t answer | `**61*NUMBER#` | `##61#` | | When busy | `**67*NUMBER#` | `##67#` | | When switched off or out of coverage | `**62*NUMBER#` | `##62#` | | Cancel every forward | | `##002#` | **Landline (Cosmote, Vodafone, Nova)** On most lines: `*21*NUMBER#` forwards all calls and `#21#` turns it off. `*61*NUMBER#` (no answer) and `*67*NUMBER#` (busy) work where the line supports them. If the code is rejected, call forwarding (εκτροπή κλήσεων) is not enabled on the line. Ask your carrier to enable it, or turn it on in the My Cosmote or My Vodafone app. Choose **All calls** if the agent answers everything. Choose **When you don’t answer** and **When busy** if your staff answer first and the agent takes the rest. Your carrier may charge for forwarded calls under your own plan. 4. **Call your business number to test** Call your usual number from another phone. The agent should answer and the call should show in **Calls**. 5. **Add credit before you use transfers** A transfer to a person is a new outbound call: the agent calls that person’s phone from the Voice Logica number and connects the caller. Outbound calls are charged to the number’s credit at Yuboto, not to your plan’s minutes. With no credit, transfers fail and the call shows `insufficient_balance_in_voip_provider`. Add credit at [Yuboto My Number](https://services.yuboto.com/mynumber/). A transfer to another Voice Logica agent needs no credit. Outbound campaigns use the same credit. Don’t transfer back to the forwarded number If your business number forwards all calls to the agent, and the agent transfers to that same number, the call comes straight back to the agent. Transfer to a mobile, an extension or a direct line instead. [Set up transfers](/telephony/transfer/). ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Transfer](/telephony/transfer/): hand callers to a person. [Voice Logica numbers](/telephony/voice-logica-numbers/): the free number in detail. [Cosmote, Vodafone and Nova](/telephony/greek-carriers/): a business SIP trunk or phone system instead of forwarding. # Cosmote, Vodafone and Nova numbers > Connect a Cosmote, Vodafone or Nova (former Wind) business number to a Voice Logica AI agent: call forwarding, a business SIP trunk, or through your office phone system. Your number stays with Cosmote, Vodafone or Nova, and customers keep calling it. How it reaches the AI agent depends on what kind of line it is, not on the carrier. Pick the row that describes your number: | Your number is… | Connect it with | | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | A mobile, or a landline that rings on phones directly | [Call forwarding](#call-forwarding-any-line) to your free Voice Logica number | | A business SIP trunk (Cosmote Business, Vodafone Business, Nova Business SIP) | A [SIP trunk](#business-sip-trunk) straight to Voice Logica | | A landline on your internet router, no phone system | Forwarding, or [your line’s SIP credentials](#your-lines-sip-credentials-router-line) registered by Voice Logica | | Connected to an office phone system (Panasonic, Grandstream, Yeastar, 3CX…) | [Your phone system](#through-your-office-phone-system), not the carrier | Not sure? If the number rings on desk phones through a phone system in your office, it is the third row. If you never ordered a “SIP trunk” from your carrier, it is not the second. ## Call forwarding (any line) [Section titled “Call forwarding (any line)”](#call-forwarding-any-line) The simplest way, and it works on every Cosmote, Vodafone and Nova line. After you buy a plan, a company in Greece gets one free Voice Logica number. You forward your business number to it and the agent answers. The codes are the same on all three carriers: | Forward | Mobile | Landline | | --------------------- | ----------------------------- | ------------- | | All calls | `**21*NUMBER#` | `*21*NUMBER#` | | When you don’t answer | `**61*NUMBER#` | `*61*NUMBER#` | | When busy | `**67*NUMBER#` | `*67*NUMBER#` | | Turn off | `##21#` (or `##002#` for all) | `#21#` | `NUMBER` is the free Voice Logica number, all 10 digits. On landlines, *no answer* and *busy* forwarding work where the line supports them. Dial the code from the phone you are forwarding. The full steps, from ordering the number to testing and transfer credit, are in [Forward your number to the agent](/telephony/forward-your-number/). Choose **When you don’t answer** and **When busy** if your staff answer first and the agent takes the rest. ## Business SIP trunk [Section titled “Business SIP trunk”](#business-sip-trunk) If your company has a SIP trunk from its carrier, connect it to Voice Logica directly: no forwarding, and the agent can call out from your own number. 1. **Ask your carrier** (Cosmote Business, Vodafone Business or Nova Business) for the trunk details: the SIP server address, the numbers (DIDs) on the trunk, a username and password if they use one, and the **IP addresses their calls come from**. Greek business trunks almost always authenticate by IP. 2. **Ask them to allow Voice Logica.** They need our addresses on their side. Open a ticket from **Support** in the app and we send them to you, or to the carrier directly. 3. **Telephony → Trunks → + Add Trunk**, type **VOIP provider**. For **Provider**, pick **Cosmote Business** or **Vodafone**, or **Custom / manual setup** for Nova. The preset fills port, transport and the authentication type. Replace the **Host** with the server address your carrier gave you. 4. **Advanced → Authentication**: add the carrier’s IP addresses. 5. **Add the numbers**, set the destination to your agent and save. Then call your number from another phone and check it shows in **Calls**. The general steps and every field are in [Your own carrier](/telephony/your-own-carrier/). ## Your line’s SIP credentials (router line) [Section titled “Your line’s SIP credentials (router line)”](#your-lines-sip-credentials-router-line) A business landline that works through your internet router (VoBB) has SIP credentials: the router uses them to register the number. The carrier can give them to you, and Voice Logica registers the number itself: no forwarding and no phone system. The AI agent answers the number directly and can call out from it. Before you ask, check two things: * **The router stops ringing.** Once Voice Logica registers the number, phones plugged into the router may stop ringing. Do it outside working hours, and keep forwarding as your fallback. * **Have the trunk ready first.** Cosmote sends the password by SMS and it is valid for 30 minutes. Create the trunk in Voice Logica before you ask, so you only paste the password. ### Cosmote [Section titled “Cosmote”](#cosmote) 1. **Fill in the form.** [Download the Cosmote SIP credentials request (PDF)](/downloads/cosmote-sip-credentials-request.pdf), fill it in and sign it. Cosmote can send you the latest version: it is their form, ask . 2. **Send it** to **** (or fax 210 677 9990) with a copy of the line holder’s ID. For a company: page 1 of the ΦΕΚ with the company’s tax number (ΑΦΜ) and legal representative, and the representative’s ID. 3. **Prepare the trunk: Telephony → Trunks → + Add Trunk**, type **VOIP provider**, **Custom / manual setup**: | Field | Value | | ------------------------------- | ---------------------------------------------------- | | Host / IP Address | `ims.otenet.gr` | | Username | `+30` and your 10-digit number, e.g. `+302101234567` | | Password | from Cosmote’s SMS | | Advanced → Domain / From Domain | `ims.otenet.gr` | | Advanced → Port / Transport | `5060` / **UDP** (Cosmote does not offer TCP) | 4. **When the SMS arrives**, paste the password and save within 30 minutes. Add the number to the trunk and set your agent as the destination. 5. **Check it registered** (the trunk shows online), then call the number from a mobile. If the trunk stays waiting and its SIP logs show no reply from Cosmote at all, Cosmote accepts the registration only from its own network. Then register through the [edge device](/telephony/edge-device/) in your office. Open a ticket from **Support** with the number and we check it with you. ### Vodafone [Section titled “Vodafone”](#vodafone) Vodafone gives one SIP account per number: the username is the number with `+30`, the domain `ims.vodafone.gr`, and no separate Authorization ID. Ask Vodafone Business for them. Vodafone’s server answers only registrations from inside its network, so the number registers through the [edge device](/telephony/edge-device/) in your office, not from the cloud. The values that work: | Field | Value | | ----------------------------------------------- | -------------------------------------- | | Host / IP Address, or Advanced → Outbound Proxy | `62.38.86.150` (backup `62.38.87.118`) | | Username | `+30` and your 10-digit number | | Login (Authorization ID) | empty | | Advanced → Domain / From Domain | `ims.vodafone.gr` | | Advanced → Port / Transport | `5060` / **UDP** | | Registration expiry (seconds) | `3600` (Vodafone rejects 300) | | Advanced → Allowed RTP source IPs | `62.38.86.151` | `ims.vodafone.gr` is only a domain name: it does not resolve outside Vodafone’s network, so the host must be the IP address. **No audio?** Behind Vodafone’s router, calls often ring and connect but the agent never hears the caller. The router lets call audio in only on a UDP range it forwards to the computer running the edge device. Forward **UDP 10000-10020** to that computer in the router’s **Port Forward** settings, then set the same range in the trunk under **Router audio ports**: [step by step](/telephony/edge-device/#router-audio-ports). ### Nova [Section titled “Nova”](#nova) Ask Nova Business for your line’s SIP credentials (server, username, password) and open a ticket from **Support** with them. We have no tested settings for Nova yet and set it up with you. ## Through your office phone system [Section titled “Through your office phone system”](#through-your-office-phone-system) If your Cosmote, Vodafone or Nova line already goes into a phone system, leave the line as it is and connect the phone system to Voice Logica. The phone system decides which calls go to the agent, and staff keep their extensions. See [Connect your PBX](/telephony/connect-your-pbx/). A phone system inside your office network with no public address needs the [edge device](/telephony/edge-device/). ## From Claude or ChatGPT [Section titled “From Claude or ChatGPT”](#from-claude-or-chatgpt) With Voice Logica connected to Claude or ChatGPT, ask *“Connect my Cosmote number”*. It asks which kind of line you have and does the steps: `get_free_number` for forwarding, `create_sip_trunk` for a business trunk or your line’s SIP credentials, `connect_pbx` for a phone system. For your line’s credentials it creates the trunk first, turned off and without a password (`create_sip_trunk`), then adds the password from the SMS and turns it on (`update_sip_trunk`). ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Forward your number to the agent: the forwarding steps in full.→](/telephony/forward-your-number/)[Your own carrier: every SIP trunk field.→](/telephony/your-own-carrier/)[Connect your PBX: steps per phone system.→](/telephony/connect-your-pbx/)[Transfer: hand callers to a person.→](/telephony/transfer/) # Live Support The AI answers chats on the website widget, WhatsApp, Viber, Messenger, and Instagram. When a visitor asks for a person, the agent offers the **same thread** to a teammate. The teammate accepts and keeps chatting in **Live Support** (sidebar). The visitor does not start over, and the AI stops writing. It needs three things: a chat channel on the agent, **Transfer** on that agent, and teammates with **Provide chat support** on. Email is not a Live Support channel yet. ## First setup [Section titled “First setup”](#first-setup) 1. **Connect a chat channel to the agent** Open the agent → **Channels** → [**Website Widget**](/agent-configuration/website-widget/), **WhatsApp**, **Viber**, **Messenger**, or **Instagram**. Prove that the AI already answers there before you add people. 2. **Turn on Transfer for that agent** Same agent → **Call handling → Transfer** → **Enable call transfer** On. This is the switch for chat handoffs too. Off means the AI never offers a person. The rest of the tab is on [Transfer](/telephony/transfer/). 3. **Pick who can take chats** * **Allow the AI to transfer to any enabled destination**: every company user with **Provide chat support** on. * **Specific destinations**: only the **Users** and **User groups** on the list. **AI agent** and **External number** rows are skipped for chats. For a group, the offer goes to every member. The first person to accept owns the chat, and the offer is cancelled for the others. 4. **Turn on Provide chat support for each person** **Telephony → [Active directory](/telephony/active-directory/)** → edit the user’s seat → **Provide chat support**. It is on by default for new seats and invited users. Turn it off for people who should never get chats. This is per **user**, not per website. The website, or any other channel, comes from the agent in step 1. 5. **Go online** The teammate signs in to the web app, the [Windows app](/telephony/setup-windows-app/), or the [mobile app](/telephony/setup-mobile-app/). Offers go only to people who are online at that moment. If nobody is online, the AI tells the visitor and keeps the chat. 6. **Prove it** Open your website widget, or write to your WhatsApp, and ask: *“Can I talk to a person?”* The teammate sees **Live support chat** with **Accept** and **Decline**. **Accept** opens **Live Support** with the transcript, the contact, CRM links, and the last summaries. Their reply goes back on the same channel. ## Billing [Section titled “Billing”](#billing) Each new conversation uses **one chat session** from the plan. That includes the AI part and a handoff in the same thread. When no sessions are left, new chats are refused, the account owner gets an email, and **Live Support** shows **No chat sessions left**. Buy a chat-sessions pack to continue. ## When it does not work [Section titled “When it does not work”](#when-it-does-not-work) # Noema only: sign up and the Noema Mobile plan > Use only the Noema mobile app: sign up from your phone, then keep it on the Noema Mobile plan, EUR 9 a month with 60 analysis minutes and 20 SMS. You do not need the rest of Voice Logica to use Noema. Sign up from the app, and keep it on the **Noema Mobile** plan: Noema records and summarises your business calls, and takes a message when you cannot answer. ## The Noema Mobile plan [Section titled “The Noema Mobile plan”](#the-noema-mobile-plan) Price EUR 9 a month (plus VAT), renews every month. Cancel any time from Billing. Analysis minutes 60 every month: recording, transcript and summary of your business calls, and the messages callers leave. SMS 20 every month, for example the messages your personal assistant texts you. Mobile seat 1 included: the Noema app for one person. Voice minutes None. The AI takes a message instead of talking with the caller (see below). Noema Mobile is not an AI voice agent plan. In **Billing - Subscription** it has its own **Noema mobile app** section on the page, with the App Store and Google Play links and an **Ask AI** button for setup questions. On it you can add **analysis minutes, SMS, emails and more mobile seats**. Chat sessions are not part of it. Voice minutes, chat sessions, more agents and concurrent calls need an AI agent plan: choose one with **Choose a plan** when you want the AI to talk with your callers. **Moving to an AI agent plan later?** Choosing Starter or another AI agent plan *replaces* Noema Mobile, so the button says **Switch**. Keep **Keep the Noema app** ticked and a Mobile Seat is added in the same step, so the app keeps working next to your AI agent. **Account managed by a reseller?** You cannot buy plans yourself: ask your reseller to put you on Noema Mobile. Resellers assign it to a client with credits, from **Manage customer subscription** in their panel, or by asking Claude or ChatGPT to put that client on Noema Mobile. ## Sign up from your phone [Section titled “Sign up from your phone”](#sign-up-from-your-phone) 1. **Install Noema.** iPhone: [App Store](https://apps.apple.com/gr/app/noema-by-voice-logica/id6763424183). Android: [Google Play](https://play.google.com/store/apps/details?id=ai.noema). 2. **Create your account** in the app with your email, Google or Apple. The app creates your workspace. Already have a Voice Logica account? Sign in with the same email and password instead. 3. **Allow permissions** the app asks for, and make a call. The first 3 days in the app are free, with 20 minutes included. Then choose Noema Mobile to keep it. 4. **Subscribe to Noema Mobile.** Fastest: [buy in one click](https://app.voicelogica.ai/billing/subscription-details?buy=noema-mobile): it asks for your VAT number if missing, then your card, and the plan starts as soon as the card is saved. Or: In the web panel go to **Billing - Subscription** ([app.voicelogica.ai/billing/subscription-details](https://app.voicelogica.ai/billing/subscription-details)) and choose **Noema Mobile**. With no card yet you add one on a secure Stripe page, and the plan starts as soon as the card is saved. It renews every month; cancel, resume or change the card on the same page. 5. **Forward the calls you miss** so Noema can take them: [Analyse incoming calls](/telephony/setup-mobile-app/#analyse-incoming-calls). ## With Claude or ChatGPT [Section titled “With Claude or ChatGPT”](#with-claude-or-chatgpt) Connect Voice Logica once, then ask about your calls: *“What did the client who called yesterday ask for?”* ### Claude: one click [Section titled “Claude: one click”](#claude-one-click) [![](/assets/ai-clients/claude-app.png)Add to Claude](https://claude.ai/new?modal=add-custom-connector\&connectorName=Voice+Logica\&connectorUrl=https%3A%2F%2Fapi.voicelogica.ai%2Fapi%2Fv1%2Fmcp#customize/connectors?q=voice+logica) It opens **Add custom connector** with the name and URL already filled in. Click **Add**, sign in with your Voice Logica account, and allow access. That’s all. ### ChatGPT: three steps [Section titled “ChatGPT: three steps”](#chatgpt-three-steps) 1. In ChatGPT open **Settings - Security and login** and turn on **Developer mode** (once, on any plan, Free included). 2. Open the new plugin window: [![](/assets/ai-clients/chatgpt-app.png)New plugin in ChatGPT](https://chatgpt.com/plugins#settings/Connectors?create-connector=true\&redirectAfter=%2Fplugins) Click **Create MCP App** and fill in: | Field | What to put | | -------------- | ------------------------------------------------------- | | Name | `Voice Logica` | | Connection | **Server URL**: `https://api.voicelogica.ai/api/v1/mcp` | | Authentication | **OAuth** | Tick **I understand and want to continue**, then **Create**. ChatGPT cannot fill the URL in from a link, so copy it from here: ```text https://api.voicelogica.ai/api/v1/mcp ``` 3. Sign in with your Voice Logica account and allow access. In a new chat, if ChatGPT does not use Voice Logica, click **+** in the message box and turn it on. More detail and troubleshooting: [Claude and ChatGPT](/integrations/claude-chatgpt/). Connected to [Claude or ChatGPT](/integrations/claude-chatgpt/)? Ask “put me on the Noema Mobile plan”. The assistant lists the plans (`list_plans`), subscribes you (`upgrade_plan`) and gives you a link to add your card if one is missing. To give someone else in your company the app, ask “turn on the mobile app for Maria”: it switches on her mobile seat (`team_execute`, action `set_user_seat`). Ask “how do I use only the Noema app?” for the full guide. ## When you cannot answer [Section titled “When you cannot answer”](#when-you-cannot-answer) With no voice minutes, the AI that answers (your personal assistant, or any agent of your company) does not hold a conversation: 1. It says a **fixed line** in its language: “Hello. We can’t take your call right now. Please leave your message after this and we’ll get back to you as soon as possible.” (not the agent’s usual greeting). 2. It **records** what the caller says, without replying, and ends the call a few seconds after they stop talking. A message can be up to 2 minutes; if the caller says nothing, the call ends after 30 seconds. 3. You get the **message by email** (and by SMS for your personal assistant). The email has a short note that you are out of voice minutes, with a link to add them. Only analysis minutes are used. To let the AI talk with callers, answer questions and pass on details, add voice minutes with a larger plan. This works the same for every agent of any company that runs out of voice minutes, on incoming calls. Outgoing AI calls still need voice minutes. If analysis minutes run out too, calls to the AI are refused until the next month or a top-up. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Set up Noema on your phone - forwarding codes and the test.→](/telephony/setup-mobile-app/)[Assistant during calls - say “Logica” on a call to add someone or ask a question.→](/telephony/assistant-during-calls/)[Users, seats and devices - give the app to more people.→](/telephony/users-and-devices/) # Phone Menu (IVR) A Voice Logica agent is the phone menu. Callers say what they need (*“sales”*, *“I have a billing question”*) or press a number, and the agent sends them to the right person, group, agent or outside number. There is no recorded menu tree to maintain. ## First setup - say it or press a number [Section titled “First setup - say it or press a number”](#first-setup---say-it-or-press-a-number) 1. **Set who each option reaches** On the agent, **Call handling - Transfer**: add each destination (a person, a [ring group](/telephony/user-groups/), another agent or an outside number) with one line on when to use it. The agent routes on those lines. Details: [Transfer](/telephony/transfer/). 2. **Put the menu in the prompt** Say the options once, for example: *“For sales say sales or press 1. For support press 2.”* A pressed key reaches the agent as that digit, so the prompt maps 1, 2 and 3 to the destinations. Keep it to three or four options; callers can always just say what they need. 3. **Set how long to wait for keys** **Call handling - Advanced - Phone keypad input**: digits are sent when the caller presses **#** or stops for the wait time. For one-digit menus about 3 seconds answers quickly; for account numbers use a longer wait and ask callers to end with **#**. See [Advanced](/agent-configuration/advanced-config/). 4. **Test each option** Call the number and try every option by voice and by key. Open **Calls**: each call shows where it was transferred, and why a failed transfer did not connect. ## Strict keypad routing [Section titled “Strict keypad routing”](#strict-keypad-routing) When a key must always go to the same place, with no AI deciding, build a workflow instead: an [On Key Pressed](/workflows/keyword-pressed/) trigger, a Switch on the digit, and one Transfer Call node per option. Attach it to the agent. While such a workflow is attached, **every** key press goes to it and the agent no longer hears digits. Use one way or the other on an agent, not both. ## Calling into another company’s menu [Section titled “Calling into another company’s menu”](#calling-into-another-companys-menu) For outbound calls that meet someone else’s menu (*“press 2 for accounts”*), turn on the **Navigate IVR** tool on the agent’s [built-in tools](/agent-configuration/built-in-tools/) and say in the prompt which option it is after. The agent presses the keys itself. ## From Claude or ChatGPT [Section titled “From Claude or ChatGPT”](#from-claude-or-chatgpt) With the [Voice Logica connector](/integrations/claude-chatgpt/), say *“Set up a menu: 1 for sales to Maria, 2 for support to the support group, anything else stays with the agent.”* The assistant adds the transfer destinations and writes the menu into the prompt, then asks you to test it. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Transfer - destinations, warm or blind transfer.→](/telephony/transfer/)[On Key Pressed - digits into a workflow.→](/workflows/keyword-pressed/)[Routing - which number reaches which agent, and after hours.→](/telephony/routing/) # Routing **Telephony - Routing** is the override layer. The trunk default already sends unrouted calls somewhere. Open this tab only when *one* number (or *one* outbound prefix) should not follow that default. If every inbound DID on the trunk lands on the same agent, skip this page. Adding a route “just in case” is how the wrong agent answers. Two sub-tabs sit under Routing: **Inbound** and **Outbound**. You cannot add either until **Trunks** has a SIP trunk (and, for most routes, numbers on that trunk). ![Telephony Routing Inbound empty state](/_derived/thumb/telephony/routing.webp) tel-routingExpand When there is no trunk yet, the page shows a banner: **Add a trunk first. Inbound and outbound routes need a SIP trunk before you can add them.** with **+ Add trunk**. **+ Add Inbound Route** stays disabled. The empty list says **No inbound overrides — every number follows its trunk default.** ## Which sub-tab [Section titled “Which sub-tab”](#which-sub-tab) This DID should not follow the trunk default TURN ONInboundNEEDS**+ Add Inbound Route**. Skip this if every number on the trunk already lands on the right agent. This prefix / caller-ID pool must leave on that trunk TURN ONOutboundNEEDS**+ Add Outbound Route**. With one trunk, outbound already uses it. You need numbers on the trunk before you can add a route. You can also add a route from the agent’s **Channels - Telephony** tab when that control is available. That creates an inbound route pointed at *this* agent - the same object as **Telephony - Routing - Inbound**. ## On the agent [Section titled “On the agent”](#on-the-agent) | Agent place | What this tab supplied | | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Channels - Telephony** (add route, when shown) | An inbound override locked to *this* agent. Same row you see under **Inbound**. | | **Call handling - Outgoing** | How the agent *behaves* on an outbound call - [Outgoing](/outbound-calls/outgoing/). Which **trunk** and **caller ID** carry the call is the **Outbound** sub-tab here. | | Trunk default | If you never add a route, [Your own carrier](/telephony/your-own-carrier/) destination is what answers. | ## Time-based inbound (later) [Section titled “Time-based inbound (later)”](#time-based-inbound-later) On **Add Inbound Route** you can set office-hours rules and after-hours / holiday destinations (AI agent, user, user group, conference room, external number / bridge), when those controls appear. Skip this until one DID should land somewhere else after close. ## First setup - only when a second number needs a different landing [Section titled “First setup - only when a second number needs a different landing”](#first-setup---only-when-a-second-number-needs-a-different-landing) 1. **Confirm the trunk default is right for most numbers** [Your own carrier](/telephony/your-own-carrier/) - destination = the usual agent. Call one DID. If that already works, you do not need a route. 2. **Open Telephony - Routing - Inbound** If you see **Add a trunk first**, create the trunk and add numbers, then come back. You cannot put the same DID on two inbound routes. 3. **+ Add Inbound Route** Pick the number(s) that should *not* follow the default. Pick the destination (this AI agent, a user, a group, a conference, or an external number / bridge). Save. Until a trunk exists, the form is blocked. The banner and disabled **+ Add Inbound Route** look like this: ![Add Inbound Route disabled until a trunk exists](/_derived/thumb/telephony/routing-form.webp) routing-formExpand 4. **Call that DID** Open **Calls**. If the default agent still answers, the route is inactive, the numbers bypass it, or you dialed a different DID. 5. **Outbound only when two trunks exist** **+ Add Outbound Route** - which trunk carries the call, which trunk numbers can be caller IDs. Leave this until prefixes or caller-ID pools actually differ. ## What “broken” looks like [Section titled “What “broken” looks like”](#what-broken-looks-like) * **+ Add Inbound Route** disabled with **Add a trunk first** - no SIP trunk yet. * **+ Add Inbound Route** disabled after a trunk exists - every inbound number is already on a route, or the trunk has no free numbers. * **+ Add Outbound Route** disabled - the trunk has no numbers yet. * The route exists but callers still hit the default - the route is inactive, or the trunk is disabled. A disabled inbound route is not a delete. Calls fall through to the trunk default. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Your own carrier - trunk default, before you override it.→](/telephony/your-own-carrier/) [User Groups](/telephony/user-groups/) / [Conference Rooms](/telephony/conference-rooms/) - destinations a route can point at. [Transfer - handoff after the DID answers.→](/telephony/transfer/) # Set up Noema on your phone > Install the Noema app on iPhone or Android and sign in, in four steps. Noema records and summarises your business calls, and answers when you cannot pick up. It uses **analysis minutes, not voice minutes**. Your administrator turned it on for you. Using only Noema, on your own? See [Noema only: sign up and the Noema Mobile plan](/telephony/noema-mobile-plan/). 1. **Install Noema.** iPhone: [App Store](https://apps.apple.com/gr/app/noema-by-voice-logica/id6763424183). Android: [Google Play](https://play.google.com/store/apps/details?id=ai.noema). 2. **Sign in.** Open the app and sign in with your Voice Logica email and password. 3. **Allow permissions.** Allow what the app asks for. Without them it cannot place calls or show who is calling. 4. **Make a call.** Tap a contact or dial a number. When you hang up, the recording, transcript and summary are waiting in **Recents**. ## Talk to the assistant during a call [Section titled “Talk to the assistant during a call”](#talk-to-the-assistant-during-a-call) On a call, say **Λότζικα** or **Logica** and the AI answers out loud: *“Λότζικα, πρόσθεσε τη Μαρία στην κλήση”*. It adds colleagues and contacts, finds their number, and answers from your knowledge. See [Assistant during calls](/telephony/assistant-during-calls/). ## Analyse incoming calls [Section titled “Analyse incoming calls”](#analyse-incoming-calls) Incoming calls reach us through your carrier’s call forwarding, to **+30 219 219 2059** (mobile numbers in Greece and Cyprus). We recognise that the call was forwarded from your mobile and handle it for you: | When | Code | What happens | | ---------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | You decline the call | `**67*2192192059#` | We call you straight back. Answer and talk to the caller as normal: the call is recorded, transcribed and summarised. | | You don’t answer | `**61*2192192059**20#` | Same as declining: we call you back. Miss that call too and the AI takes a message. The last number is the seconds before forwarding (5 to 30). | | Phone off or no signal | `**62*2192192059#` | The AI answers instead of your voicemail. | 1. **Open Noema → Settings → Call analysis.** 2. **Tap Enable** next to each case you want. The phone’s dialer opens with the code already filled in: press call to send it. Your carrier confirms on screen. On iPhone, if the Phone app opens the code but nothing happens, press call, or type the code in by hand. 3. **Test your forwarding.** Tap **Busy / voicemail test** (or **No-answer test**). We call you from the number shown on screen: decline it (or let it ring). The app shows whether your carrier passes on the forwarding. If it does not, the app gives you a personal number to forward to instead of 2192192059; the Enable buttons then use it. 4. **Allow repeated calls** in Do Not Disturb (iPhone: Settings → Focus → Do Not Disturb → Allow Repeated Calls; Android: Settings → Do Not Disturb → Calls → Allow repeat callers). Our call-back then always rings. * **Your mobile number must be on your Voice Logica user.** That is how we know the forwarded call is yours. Your administrator sets it in **Telephony → Active directory**. * **How decline works:** a call comes in, you tap decline. We ring you straight back: answer and talk as normal. That second call is the one recorded, transcribed and summarised. With Do Not Disturb on, step 4 keeps the second call ringing while everything else stays quiet. * **Carriers:** incoming calls work today on **Cosmote**. **Vodafone** and **Nova** are coming soon. **Outgoing** calls from the app are analysed on every network, with nothing to set up. * **To turn it off,** tap **Disable**, or dial `##67#`, `##61#`, `##62#`. * **Forward to 2192192059 only.** +30 219 219 2074 is the demo line: callers there are asked for an agent PIN. * **No voice minutes** (for example on the Noema Mobile plan): the AI does not talk with the caller. It asks them to leave a message, says we’ll get back to them, records the message and sends it to you by email (and SMS for your personal assistant). Only analysis minutes are used. See [When you cannot answer](/telephony/noema-mobile-plan/#when-you-cannot-answer). ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## For administrators [Section titled “For administrators”](#for-administrators) **Telephony - Active directory**, click the mobile icon next to the person and switch **Device access** on. Under **Send the setup**, click **Email** or **SMS**. The person gets these steps and both store links. See [Users, seats and devices](/telephony/users-and-devices/). # Set up your office line in MicroSIP or Linphone > Connect your Voice Logica phone line on Windows with MicroSIP, or on a Mac with Linphone. Your administrator gave you a phone line. You got an email or SMS with three details: the **domain**, the **username** and the **password**. Keep them at hand. 1. **Install MicroSIP.** Download it free from [microsip.org/downloads](https://www.microsip.org/downloads) and install it on your Windows computer. 2. **Add your account.** Open MicroSIP. Click the small arrow **▾** at the top right and choose **Add Account**. 3. **Fill in your details.** | MicroSIP field | What to enter | | ---------------- | ------------------------------- | | **Account Name** | Anything, e.g. `Office` | | **SIP Server** | The domain | | **SIP Proxy** | Leave empty | | **Username** | The username | | **Domain** | The domain (same as SIP Server) | | **Login** | The username (same as Username) | | **Password** | The password | 4. **Save.** Click **Save**. In a few seconds the status at the bottom says **Online**. Call a coworker’s extension to test. That’s it. Coworkers reach you on your extension, and calls to your line ring in MicroSIP. ## On a Mac: Linphone [Section titled “On a Mac: Linphone”](#on-a-mac-linphone) MicroSIP runs only on Windows. On a Mac, use Linphone with the same three details. 1. **Install Linphone.** Download it free from [linphone.org/en/download](https://www.linphone.org/en/download/) and install it. 2. **Add your account.** Open Linphone and choose **Use a SIP account**. 3. **Fill in your details.** **Username** = the username, **Password** = the password, **Domain** = the domain. **Transport**: UDP. 4. **Log in.** In a few seconds the account shows as connected. Call a coworker’s extension to test. ## Other phones and apps [Section titled “Other phones and apps”](#other-phones-and-apps) Zoiper, Linphone, Grandstream and other SIP phones use the same three details: server / domain = the domain, username and auth ID = the username, password = the password. UDP or TCP on port 5060, TLS on 5061. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## For administrators [Section titled “For administrators”](#for-administrators) **Telephony - Active directory**, click the phone icon next to the person and switch **Device access** on. Under **Send the setup**, click **Email** or **SMS**. The person gets these steps with their details filled in. See [Users, seats and devices](/telephony/users-and-devices/). # Set up the Windows app > Install the Voice Logica Windows app on your computer and sign in, in four steps. The Windows app is the desktop client: you place and take calls from your computer, and see recent conversations, contacts and tasks without opening the browser. During a call you get live transcription and AI suggestions on the same screen. Your administrator turned it on for you. 1. **Download the installer.** [Download for Windows](https://api.voicelogica.ai/desktop/windows-installer). 2. **Install.** Open the downloaded file and finish the installation. If Windows shows a blue warning, click **More info** and then **Run anyway**. 3. **Sign in.** Open the app and sign in with your Voice Logica email and password. 4. **Allow the microphone.** Allow microphone access when asked. You can now place and take calls from your computer. A headset gives the best audio. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Who is calling and answers during calls [Section titled “Who is calling and answers during calls”](#who-is-calling-and-answers-during-calls) When a call rings you, the app shows the caller from every connected CRM, and with knowledge assist on, answers from your knowledge while you talk. If you answer on a desk phone, softphone or mobile, or minimise the call window, a slim bar at the top of the screen shows the same (**Back to call** reopens the window). See [Caller bar & knowledge assist](/telephony/caller-bar/). ## For administrators [Section titled “For administrators”](#for-administrators) **Telephony - Active directory**, click the Windows icon next to the person and switch **Device access** on. Under **Send the setup**, click **Email** or **SMS**. The person gets these steps and the download link. See [Users, seats and devices](/telephony/users-and-devices/). # Transfer The agent passes a caller to a person, a team, another AI agent or an outside number while the call is live. All of it is set **inside the agent**: open the agent, then **Call handling - Transfer**. The agent decides when to transfer during the conversation, following your **Routing Instructions**. Your plan must include call transfer. If it does not, the tab shows *Transfer destinations need a plan upgrade.* ![Call handling Transfer Enable and Warm Attended Blind](/_derived/thumb/telephony/transfer.webp) transfer-tabExpand ## Where a call can go [Section titled “Where a call can go”](#where-a-call-can-go) | Destination | What it is | What happens | | ------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------ | | **User** | A person in [Active directory](/telephony/active-directory/) with a seat | Their devices ring. The first one answered gets the caller. | | **User group** | A team from [User Groups](/telephony/user-groups/) | Members ring in order until one answers. | | **AI agent** | Another agent in the same company | The other agent takes over the same call. No ringing, no new call. | | **External number** | Any phone number | A new outgoing call to that number, then the caller is connected. | ## Let your users take transferred calls [Section titled “Let your users take transferred calls”](#let-your-users-take-transferred-calls) A person can only receive a transfer on a device that is connected. Do this once per person: 1. **Add the person and give them a seat** **Telephony - Active directory**. See [Users, seats and devices](/telephony/users-and-devices/). 2. **Connect at least one device** | Device | Rings when | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Windows app** | The person is signed in to the app. | | **SIP phone or softphone** | The person has a SIP seat and the phone is registered (shown under **Online devices**). | | **Personal mobile** | **Also ring personal mobile** is on in their seat, they have a mobile seat and a mobile number on their profile. The call reaches them as a normal phone call. | All connected devices ring at the same time. The first one answered gets the caller and the others stop. 3. **Keep their status available** The agent sees each person’s status live. If they are offline, away or on Do Not Disturb, the agent does not try to transfer to them and takes a message instead. A user group is offered only while at least one member is online. 4. **Add them as a destination on the agent** On **Available Transfer Destinations**, add the **User** or their **User group**, or turn on **Allow the AI to transfer to any enabled destination in this company**. If your calls come in through your own PBX and the person is not registered with Voice Logica, the agent hands the call back to your PBX and the PBX rings their extension. See [Connect your PBX](/telephony/connect-your-pbx/). ## First setup [Section titled “First setup”](#first-setup) 1. **A real number already rings this agent** [Get a number](/telephony/). **Try this agent** in the browser cannot transfer: transfer works only on phone calls. 2. **Turn Enable call transfer on** Off: the agent cannot transfer. Your settings stay saved. 3. **Choose the transfer behavior**: Warm, Attended or Blind. See [How the handoff works](#how-the-handoff-works). 4. **Write the Routing Instructions** Say who handles what, in the language of your calls. For example: *Billing questions go to the Accounts group. Ask for Maria by name only if the caller asks for her.* 5. **Add the destinations** Allow the AI to transfer to any enabled destination in this company Every enabled user and user group in the company, plus anything you add below. Specific destinations Only the list below. **+ Add destination** - **User**, **User group**, **AI agent** or **External number**. ![Specific destinations Add destination type picker](/_derived/thumb/telephony/transfer-add.webp) transfer-addExpand 6. **Test it on a real call** Call the number and ask for that person. Then open the call on **Calls**: the transfer result and reason are on the row. ## How the handoff works [Section titled “How the handoff works”](#how-the-handoff-works) The behavior you choose on the tab applies to **external numbers**. You can change it for one destination on that row (**Inherit**, Attended or Blind). Be sure a person answers TURN ONWarm (Recommended)NEEDSThe caller hears hold music. Voice Logica calls the number and connects the caller only when someone answers. If nobody answers, the agent comes back to the caller. Hand the call to your phone system to join TURN ONAttendedNEEDSSame as Warm until the person answers. Then your carrier or PBX joins the two calls directly and Voice Logica steps out. Send the call straight on TURN ONBlindNEEDSThe agent tells the caller it is connecting them and hands the call to your carrier or PBX at once. Nobody checks that a person answers: it can end in voicemail, a queue or a busy line, and the agent is no longer on the call to help. For the other destinations the behavior is fixed: | Destination | Behavior | | ------------------------- | ------------------------------------------------------------------------------------------------------------- | | **User** / **User group** | Always waits for a person to answer, whatever you choose. The caller hears hold music while the devices ring. | | **AI agent** | The new agent continues the same call. | | **External number** | Warm, Attended or Blind as chosen. | Options for Warm and Attended: Ring timeout How long to ring before the transfer counts as unanswered. Announce Transfer Reason to Recipient External numbers only. When the person answers, a voice tells them who is calling and why, and asks them to accept. The caller is connected only if they say yes. They have 60 seconds to answer. Show Caller ID to Transfer Recipient On: the person sees the caller’s number. Off: they see your company number. Hold sound while waiting The music the caller hears while the transfer rings. Analyze Transferred Call External numbers only: the conversation after the transfer is transcribed and analysed too. Uses analysis minutes. A transfer to a user uses that user’s own call settings instead. ## When the agent will not transfer [Section titled “When the agent will not transfer”](#when-the-agent-will-not-transfer) * **Enable call transfer** is off, or your plan has no call transfer. * The call is a browser test or a chat, not a phone call. * **Block Transfer When Company Is Closed** is on and you are outside office hours. * **Allow transfer to external numbers** is off and the destination is a phone number. * The person or every member of the group is offline, away or on Do Not Disturb. * The number is international (outside Greece and Cyprus) and the call came in on a Voice Logica number, or your trunk blocks international calls. High-cost numbers are always blocked. * No [outbound route](/telephony/routing/) or trunk can dial that number. In all these cases the agent tells the caller and offers to take a message. ## How a transfer can fail [Section titled “How a transfer can fail”](#how-a-transfer-can-fail) With **Warm** and **Attended**, the agent comes back on the line, tells the caller it could not connect them and offers to take a message. With **Blind** there is no way back: once the call has left, the agent cannot help the caller. | What you see on **Calls** | Cause | Fix | | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | | `insufficient_balance_in_voip_provider`, or `sip_503` on a Voice Logica (Yuboto) number | The number has **no VoIP credit**, so the carrier refused the outgoing call with **503**. You also get the email *Φόρτιση αριθμού Yuboto*. | Top up the number’s credit. Transfers to users who answer on the Windows app or a SIP phone, and to AI agents, do not need credit. | | `transfer_request_false` (Blind) | The carrier refused to forward the call. On a Voice Logica number this usually means no credit, and **the call is ended**. | Top up, or use **Warm**. | | `no_answer`, `No answer after ringing timeout` | Nobody picked up within the ring timeout. | Longer ring timeout, a group instead of one person, or check that their device is online. | | `busy`, `declined` | The person was busy or pressed Decline. | - | | `transfer_rejected` | The person said no to the announcement. | - | | `Transfer confirmation timed out` | The person answered but did not accept within 60 seconds. | - | | `not_found`, `invalid_number` | The number does not exist or is written wrong. | Write it in full international format, e.g. `+302101234567`. | | `unavailable`, `sip_` | The destination’s network did not take the call. | Try the number from a normal phone. Check your trunk with your carrier. | | `destination_hungup_before_mix` | The person hung up before being connected. | - | | `no licensed/online channel` | The user has no connected device or no seat. | See [Let your users take transferred calls](#let-your-users-take-transferred-calls). | | `Failed to initiate trunk transfer` | No trunk was free to place the outgoing call (no outbound trunk, or all channels busy). | Check [Routing - Outbound](/telephony/routing/) and your trunk’s channel limit. | ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) Start on **Calls**. Open the call: the transfer status, the reason and the SIP log are there. ## Next Steps [Section titled “Next Steps”](#next-steps) [Users, seats and devices - give people a device to take calls on.→](/telephony/users-and-devices/)[User Groups - a team the agent can transfer to.→](/telephony/user-groups/)[Routing - outbound routes for transfers to phone numbers.→](/telephony/routing/) # User Groups **Telephony - User Groups** is a support or sales line: several seated users, one extension, a ring order you pick. Transfer type **User group** and inbound / trunk defaults pick the group by name. This is a destination, not how the AI answers inbound. Inbound still lands on an agent (or a trunk default). The agent then hands off to the group - or a [route](/telephony/routing/) points at the group directly. ![Telephony User Groups empty state](/_derived/thumb/telephony/user-groups.webp) tel-groupsExpand Empty state: **No user groups yet** - *Create a user group to ring several users on one extension — perfect for a support line or a sales team.* Button: **+ New user group**. ## What you configure here [Section titled “What you configure here”](#what-you-configure-here) Open **+ New user group**: NameREQUIRED What Transfer and the routing prompt should say (“Support”, “Billing”). ExtensionREQUIRED The short number. It appears on [Active directory](/telephony/active-directory/). Ring strategy **Ring all**, or other strategies (in order / rotating). Help text: how members are rung — all at once, in order, or rotating. Ring timeout (s) How long to ring before giving up / falling back. Enabled When off, calls to this extension are not routed to the group. When should the AI transfer here? Shown to the AI agent so it knows when to send callers here. Only used when at least one member is online. Members Seated users from Active directory / Team and access. ![New User Group drawer](/_derived/thumb/telephony/user-groups-form.webp) user-groups-formExpand ## On the agent [Section titled “On the agent”](#on-the-agent) | Agent place | What this tab supplied | | --------------------------------------------------------- | -------------------------------------------------------------------------- | | **Call handling - Transfer** type **User group** | The groups you created. **Allow any destination** includes enabled groups. | | **Channels - Telephony** / [Routing](/telephony/routing/) | Destination type **User group** on a trunk default or inbound override. | | **Call settings - Inbound fallback** | **When busy** / **When no answer** can be a user group. | ## First setup - Support the agent can name [Section titled “First setup - Support the agent can name”](#first-setup---support-the-agent-can-name) 1. Seat at least one person on [Active directory](/telephony/active-directory/) (two is better for a real queue). 2. **+ New user group** - name it (for example Support), set extension, **Ring all**, add members, enable, **Save**. 3. Optional: one sentence in **When should the AI transfer here?** 4. Agent - **Call handling - Transfer** - On - add **User group** Support, or **Allow any destination**. 5. Routing prompt: support questions go to Support. Call the production DID and ask for support. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Transfer - point *this* agent at the group.→](/telephony/transfer/)[Active directory - confirm the extension shows.→](/telephony/active-directory/) # Users, seats and devices A person makes and takes calls on three kinds of device: a **SIP** phone or softphone, the **Windows** app, and the **iOS** app. Each device needs a **seat** of that type. The journey is always the same four steps: add the user, get seats, turn a seat on for the user, install the device. ## 1. Add the user [Section titled “1. Add the user”](#1-add-the-user) **Telephony - Active directory - + Connect more users** (or **Team and access**). Enter the email and role. The person gets an invitation and appears in the directory once they accept. A seat can only be given to someone who has accepted. Until then they are not listed. ## 2. Get seats [Section titled “2. Get seats”](#2-get-seats) Seats come from seat plans (for example a SIP seat, or a full seat with SIP + Windows + iOS) and from seats your subscription already includes. Each plan unit adds its seats to the company pool. You do not have to buy in advance. When you turn a device on for someone and the pool of that type is full, **Need a … seat** opens - **Buy a seat** takes you through checkout and back to the same person. If a reseller or service provider manages your account, they buy the seats. Ask them to add one, then turn it on yourself. ## 3. Turn a seat on for the user [Section titled “3. Turn a seat on for the user”](#3-turn-a-seat-on-for-the-user) 1. **Telephony - Active directory**. Find the person. 2. Under **Available devices**, click the SIP, Windows or iOS icon. 3. Switch **Device access** on. The seat is taken from the pool. What happens when each device is turned on: | Device | Effect | | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **SIP** | SIP credentials are issued (username + password) for the person’s internal number. | | **Windows** | The person can sign in to the Windows app. | | **iOS** | The person can sign in to the iOS app. This company becomes their mobile company, and the analysis agent for their mobile calls is set from [Call settings](/telephony/call-settings/) - or from the person’s own **Analysis agent** when their settings override the company default. | Switching **Device access** off returns the seat to the pool. ## 4. Install the device [Section titled “4. Install the device”](#4-install-the-device) | Device | How | | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Windows** | Download the installer from `https://api.voicelogica.ai/desktop/windows-installer` (also linked in the welcome email). Sign in with the Voice Logica email and password. | | **iOS** | Install [Noema by Voice Logica](https://apps.apple.com/gr/app/noema-by-voice-logica/id6763424183) from the App Store. Sign in with the Voice Logica email and password. | | **SIP** | Open the person’s **User settings** (gear) to copy the server, username and password. In the softphone or desk phone (MicroSIP, Zoiper, Grandstream…): server / domain = the server shown, username and auth username = the username, password = the password. UDP or TCP on 5060, TLS on 5061. Status turns online within seconds. | Step-by-step guides for the person: [MicroSIP](/telephony/setup-sip-phone/), [Windows app](/telephony/setup-windows-app/) and [Noema](/telephony/setup-mobile-app/). The device drawer sends them by **Email** or **SMS** with the details filled in. The person shows up under **Online devices** once the device is connected. ## Which number the other person sees [Section titled “Which number the other person sees”](#which-number-the-other-person-sees) On the **Windows** and **iOS** apps the person chooses the line they call from: * **iOS** - **Settings - Call from**: their own mobile number, or one of the company lines. * **Windows** - the dialpad shows the caller ID / trunk picker when there is more than one choice. The company lines on offer come from the person’s **User settings**: | Setting | Meaning | | -------------------------------------------------- | ----------------------------------------------------------------------------- | | **Allowed outbound trunks** | Trunks they may call through. **Any trunk** = every enabled outbound trunk. | | **Allowed caller IDs** | Numbers they may show. **Any company number** = every number on those trunks. | | **Default outbound trunk** / **Default caller ID** | Preselected in the apps. | The call goes out through the trunk that owns the number picked. On iOS a person with no seat in the company only has their own mobile. The iOS app loads the lines when the person signs in. After changing them here, restart the app. ## From Claude or ChatGPT [Section titled “From Claude or ChatGPT”](#from-claude-or-chatgpt) With the [Claude and ChatGPT connector](/integrations/claude-chatgpt/) the same journey is one conversation: | Step | Tool | | ---------------------------------- | --------------------------------------------------------------------------------------------------------- | | Add the user | `team_execute` (action `"invite_member"`) | | See seats, free capacity and plans | `team_query` (action `"get_seats"`, includes the link to buy in the app) | | Buy seats | `team_execute` (action `"buy_seats"`, charges the card on file - confirm first) | | Turn a device on or off | `team_execute` (action `"set_user_seat"`) | | Credentials and download links | `get_user_phone_setup` - what is enabled, SIP credentials, Windows and iOS links, and the call-from lines | ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Active directory - the company phone book.→](/telephony/active-directory/)[Call settings - recording and analysis defaults the seats inherit.→](/telephony/call-settings/)[Transfer - let an agent hand calls to seated people.→](/telephony/transfer/) # Voice Logica numbers Use this path when your plan offers a Voice Logica number and you do **not** already have a SIP trunk. You still attach it on the agent - a DID sitting on the company is silent until **Channels - Telephony** says this agent answers it. Onboarding’s test number is separate. Customers never dial the PIN line. ![Agent Channels → Telephony — assign or connect a number](/_derived/thumb/telephony/agent-telephony.webp) agent-telephonyExpand ## When which button appears [Section titled “When which button appears”](#when-which-button-appears) Which button you see on **Channels → Telephony** depends on the plan. If **Get your free Phone Number** is missing, you are on Demo or the free DID is already used. Get your free Phone NumberPAID + FREE DID LEFT The company has not used its one free number. Click this. One free number per company — not per agent. Activate SubscriptionDEMO No production DID on Demo. [Activate your subscription](/getting-started/activate-subscription/) first. The button goes to billing, not to Yuboto. Connect existing numberFREE DID ALREADY USED The company already requested or assigned its free number. The tab says so (it can show the number). Connect that DID, buy another from **Subscription & Billing**, or [add your own carrier](/telephony/your-own-carrier/). The tab is hidden until the agent is saved, and you need **phones** access. If you do not see **Telephony** under **Channels**, you are on a new unsaved agent or your role cannot edit phones. ## First setup — assign the free DID and prove it [Section titled “First setup — assign the free DID and prove it”](#first-setup--assign-the-free-did-and-prove-it) Do this on the onboarding agent after [Your First Agent](/getting-started/your-first-agent/) sounds right. 1. **Open the agent → Channels → Telephony** No trunk yet is expected. The assign flow creates the Voice Logica side for you. 2. **Click Get your free Phone Number** Greece companies: enter the **Owner’s email address**, confirm, then **Open Assignment Link** and finish the Yuboto form. Companies outside Greece are sent to **Add SIP trunk** on this same tab — Voice Logica is still the path, but you connect through a trunk instead of the Greece order form. 3. **Finish the form, then come back and refresh** The number appears on a trunk once Yuboto activates it. If the tab still says the free number was requested and will appear once activated, wait and refresh — do not click assign again. 4. **Confirm this agent answers it** The trunk row should show that a number **reaches this agent**, or **Answers unrouted calls**. If the DID landed on the company but not here, use **Connect a number** on the trunk row. 5. **Call the new number from your mobile** Not the test PIN. Open **Calls**. If nobody answers, the number is on a different agent, the trunk is **Disabled**, or activation is still pending. 6. **Leave Routing alone** One DID on one trunk does not need an inbound override. [Routing](/telephony/routing/) is for a *second* number that should land somewhere else. One agent per number Only one agent answers a given number. Enabling it here takes it off whoever had it — immediately, no Save. ## What the minutes pay for [Section titled “What the minutes pay for”](#what-the-minutes-pay-for) * **Inbound** to a Voice Logica number uses **AI minutes** on the plan. * **Outbound** (campaigns, and most transfers to a phone) also uses **VoIP credits** at Yuboto. Top up at the [Yuboto My Number](https://services.yuboto.com/mynumber/) before you dial out or transfer. A transfer to *another Voice Logica agent* does not spend VoIP credits. ## After the number is live [Section titled “After the number is live”](#after-the-number-is-live) Put it on the website, email signatures, and listings. **Live on** in the editor header should show at least one telephony channel. Then [Transfer](/telephony/transfer/) if a human should take leftovers — not before the DID answers. ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Forward your number — keep your existing number and forward it to the agent.→](/telephony/forward-your-number/)[Your own carrier — keep numbers you already have.→](/telephony/your-own-carrier/)[Transfer — after this DID rings.→](/telephony/transfer/)[Outbound campaigns — outbound also spends VoIP credits.→](/outbound-calls/campaigns/) # Your own carrier Use this when the numbers already live at your carrier or PBX. **Telephony - Trunks - + Add Trunk** opens the **New SIP Trunk** drawer. The agent’s **Channels - Telephony** tab can open the same flow with **+ Add SIP trunk**, then picks which numbers this agent answers. A trunk without numbers still leaves the agent silent. A trunk with numbers and no default (and no inbound route) leaves callers ringing. Both sides have to be done. ![Telephony Trunks with Add Trunk](/_derived/thumb/telephony/trunks.webp) byoc-trunksExpand ## Which trunk type [Section titled “Which trunk type”](#which-trunk-type) The drawer asks **How do you connect?** Pick the shape that matches the other side - the type cannot change after save. VOIP provider Connect numbers from carriers like Yuboto, Telnyx, or Twilio. **Provider** can be a named preset or **Custom / manual setup** (presets prefill host, port, transport). Public IP PBX Voice Logica signs in on a PBX with a public IP reachable from the internet. Local IP PBX The PBX is on a LAN. Download the connector, wait until it is live, then enter the PBX IP. See [Edge device](/telephony/edge-device/). Incoming PBX Their phone system registers here so you can take their calls. Microsoft Teams Teams Phone calls reach your AI agent. Pair it in Microsoft 365 after the trunk exists. ![New SIP Trunk drawer How do you connect](/_derived/thumb/telephony/your-own-carrier-form.webp) your-own-carrier-formExpand The drawer has **General** and **Advanced** tabs. On General, after you pick a type, fill at least: Trunk NameREQUIRED Name it after the carrier, not “SIP Trunk 1”. Provider Preset or Custom / manual setup. Host / IP AddressREQUIRED Where to register or send SIP. Default Phone Number Optional default DID on the trunk. UsernameREQUIRED SIP username. Login (Authorization ID) Authorization ID when the provider splits login from username. PasswordREQUIRED SIP password. AI agent / Destination Where unrouted calls land (this agent, a user, group, and so on). Max Channels Optional channel cap. Trunk enabled Leave on when you are ready for registration. **Advanced** (only if the provider asked): Connection type, Port, Transport, SIP Contact host, Domain, From Domain, Outbound Proxy, Allowed RTP source IPs. Before the first REGISTER, whitelist Voice Logica in the far-end SIP / firewall when the provider requires it (IPs are shown in product settings). ## Default destination - where unrouted calls land [Section titled “Default destination - where unrouted calls land”](#default-destination---where-unrouted-calls-land) A trunk without a destination leaves callers ringing when no inbound override exists. Set destination to this AI agent (or a user / group / conference / external number). On the agent tab, sending unrouted calls to this agent does the same job from the other side. ## First setup - trunk, numbers, then this agent [Section titled “First setup - trunk, numbers, then this agent”](#first-setup---trunk-numbers-then-this-agent) 1. **Whitelist required IPs** on the carrier / PBX when asked. 2. **Telephony - Trunks - + Add Trunk** (or agent **+ Add SIP trunk**) Pick the type, fill General fields, set destination = this agent, enable, **Create Trunk**. 3. **Manage numbers** Add the DIDs on the trunk. A trunk with no numbers cannot connect anything on the agent tab. 4. **Wait until registration shows online** (provider trunks) Use SIP logs on the row if it stays offline. 5. **Agent - Channels - Telephony** Connect numbers to this agent, or send unrouted calls here if every number on the trunk should land on this agent. 6. **Call in from a real phone** Open **Calls**. Do not add [inbound routes](/telephony/routing/) until a second number needs a different landing. ## Microsoft Teams [Section titled “Microsoft Teams”](#microsoft-teams) 1. **Add Trunk** / **Add SIP trunk** and pick **Microsoft Teams**. 2. Name it and create it. Your dedicated SBC address appears after create. 3. Follow **How to connect Microsoft Teams** in the trunk settings (Microsoft 365 checklist). ## Telnyx [Section titled “Telnyx”](#telnyx) Use a Telnyx **credentials-based SIP Connection**. | Field | Value | | ------------------- | --------------------------------------------------------------- | | Host | `sip.telnyx.com` (or `sip.telnyx.eu` for the EU region) | | Port / transport | 5060, UDP | | Username / password | the **Credentials** of that SIP Connection in the Telnyx portal | * **One device per connection.** Telnyx keeps only one active registration per credentials-based connection. If the same credentials are also used on a softphone, desk phone, PBX or another platform, whichever registered last wins and this trunk keeps dropping. Give every device its own Telnyx SIP Connection ([Telnyx](https://support.telnyx.com/en/articles/1130715-register-multiple-devices-on-one-connection)). * **Registration is for incoming calls.** Telnyx needs it only to send calls to you; outgoing calls authenticate on their own ([Telnyx](https://support.telnyx.com/en/articles/4363904-sip-registration)). * **403 from Telnyx** means wrong credentials or a disabled SIP Connection or account ([Telnyx](https://support.telnyx.com/en/articles/4409457-telnyx-sip-response-codes)). ## Troubleshooting [Section titled “Troubleshooting”](#troubleshooting) ## Next Steps [Section titled “Next Steps”](#next-steps) [Carrier settings - values for Yuboto, Modulus, Supervoice, Telnyx, Twilio and more.→](/telephony/carriers/)[Routing - when one DID should not follow the trunk default.→](/telephony/routing/)[Call settings - Incoming PBX needs the company SIP domain.→](/telephony/call-settings/)[Get a number - overview of test line vs production.→](/telephony/)[Voice Logica numbers - when your plan shows free DID controls.→](/telephony/voice-logica-numbers/)[Cosmote, Vodafone and Nova - which option fits a Greek business number.→](/telephony/greek-carriers/)