Jump to content

mcbsys

Members
  • Posts

    78
  • Joined

  • Last visited

Everything posted by mcbsys

  1. This is a single-tenant system, so following the example of other working Yealink phones, I set both the SIP server and the Proxy server to phonesystem.mydomain.com. Unfortunately, creating a SIP password and using the extension number as the Authenticate ID did not work. Even deleting and re-adding the same extension x250 was not allowed by Vodia. Why not? Are deleted extensions not really deleted? I finally got it connected by adding a new extension x260 and setting a SIP password for that. Is there some way to see, at least in the file system if not in the UI, what Authenticate IDs and passwords exist? I feel like I'm banging my head on a black box trying to get info that should be easy to look up.
  2. Thank you for your reply. Agreed. English is fine for most administrators. Nur die ganz speziellen können auch Deutsch . I think you mean the local port? Ideally the email would show a log (table) of the attempts: source IP and port, destination URL or IP with port, username and password attempted. That would quickly give me an indication of how seriously to take the hack attempt. Maybe something like this is possible in IPTables, but I'm not a Linux pro. My point exactly. This needs to be in a customizable template. If only I knew what to investigate. "Status change" is the only notice. What Status? Reachability? IP address? Registration? The message as is doesn't tell me much!
  3. How do I set or at least determine the User (Authenticate ID) for an extension? The extension number does not work, even when I manually set the SIP password. I finally deleted the extension in Vodia. Vodia would NOT allow me to re-create the extension with the same number. Why? When I created it with a different number and a manual SIP password, I finally got the account registered on the phone via UDP. TLS fails; it looks like some certificate error. Setting the SIP user and password for an extension is one of the most basic tasks in a VoIP PBX. What am I missing? Thanks.
  4. Let me expand this question a bit: how do I customize the admin emails? I've started receiving occasional emails informing me that "The IP address 122.104.112.222 has been blacklisted for 60 minutes because there were 100 unsuccessful connections." Good to know, but I might like to add a link to an IP location service so I can see where the request came from. Also, I'd really like to know what port they are trying to hit--I've got 5060 and 5061 restricted at the firewall level.
  5. It's great that Vodia can auto-provision many different phones. That will cover most cases. My question is, how do I provision, say Account #4 of a Yealink T54W phone to register to Vodia? On my phone, Accounts 1-3 are used for other phone systems; Account 4 needs to register to Vodia. I've tried "fooling" Vodia by giving it the MAC address of the phone, then downloading the Authentication ID and Authentication password using curl. Very inconvenient, but it doesn't even work: when I try to register to Vodia, the PCAP trace from the Yealink doesn't show any response coming back from Vodia. What am I missing? Is there a simpler way to set or retrieve the Authentication ID and password for a manually provisioned device? Thanks for your help.
  6. I'm using Vodia 68.0.28 under Linux in the cloud (Azure). I updated a customer's Grandstream HT802 ATA to the latest firmware (1.0.43.11). When I try to provision it, Vodia thinks it worked: [8] 10:49:50.739 PROV: PnP: Extracted MAC 000B82123456 for file cfg000b82123456.xml [8] 10:49:50.739 PROV: Provisioning file cfg000b82123456.xml looking for MAC 000B82123456 [7] 10:49:50.739 PROV: PnP: Loading file grandstream-ht80x.xml for 249@phonesystem.mydomain.com for 1 authenticated users [9] 10:49:50.739 PROV: PnP: Using the credentials of 249@phonesystem.mydomain.com for file grandstream-ht80x.xml [9] 10:49:50.739 PROV: Filter configuration file grandstream-ht80x.xml [5] 10:49:50.740 PROV: Generated file grandstream-ht80x.xml with size 2646 [8] 10:49:50.740 PROV: HTTP: file cfg000b82123456.xml based on template grandstream-ht80x.xml is sent to 99.11.22.33 however the HT802 is not updated. My guess is the provisioning file is too big, or contains some syntax that HT802 does not like. I finally figured out how to view the dynamic provisioning file (loading in a browser doesn't work). At a Linux command prompt, this saved the file to the root of the PBX: curl --request GET 'http://phonesystem.mydomain.com/prov/cfg000b8123456.xml' --header 'User-Agent: Grandstream Model HW HT802 V1.5B SW 1.0.43.11 DevId 000b82123456' > /usr/local/pbx/HT802.xml Looking at the output file, I thought maybe the problem was the ampersand (&) in the web password, which in XML is converted to "&" I tried manually setting the password in the HT802 to the same password that I set in Vodia. That failed. So the password is likely the problem. After much trial and error, I noticed this line in the HT802 admin guide: "Note: Provision admin password without special characters is supported." In other words, no special characters are allowed in the password. So in the HT802 web UI, I changed the admin password to one with no special characters. That worked. Then I tried manually applying the downloaded XML config file, with the new password. That still didn't work! I give up. It's easy enough to manually provision an HT802. If someone has insight into why provisioning from XML doesn't work, I'd be glad to hear it.
  7. Okay, support clued me in that queue manager is a Group permission, not set in the queue itself. I’ve spent probably two hours testing this and I cannot get it to work as @Vodia PBX described it in this post. In the end, messages just disappear if the first queue agent is not logged in with an app (queue login doesn't matter). The manager's "chat" BLF gets turned on, but the SMS is not available. It is never delivered as email to the queue manager. Let me know if you want to see my long document of how I tested. Really in a queue situation, all agents should see the SMS message until one agent takes ownership. Or it could follow the queue behavior, if no one takes ownership after x seconds, route to the next agent. And if no one takes ownership within x seconds, send the SMS as an email to the manager. This implies that the PBX can keep track of chat ownership, not just previous communications. Is there any documentation on setting up SMS with queues? I need to see the flowchart of “if this, then that” for all the conditions and actions. How do we get email fallback to work?
  8. Hi, I'm using a registered Telnyx trunk on 68.0.28. I'd like an email notification if it goes offline for some reason. In the trunk page, I set Send email on status change to "Only for status changes." I started getting emails like this I think it was maybe every hour: Since it doesn't say what status changed, I don't know why it was sending the email, maybe on re-REGISTER events? I don't want emails that often, so I disabled the alert. Then the trunk did go down and I didn't know until the customer called. 1. How can I update the alert email to tell me what status changed? 2. How can I set it to only send an alert if it needs my attention, e.g. if the trunk goes offline?
  9. So how do I designate an agent as the queue manager? I can't find the word "manager" in the Call Queue UI. Today when introducing the new system to the customer, one asked, can he have his own phone number for texting in and out? Basically a user-specific DID that would also work for texting. If I set "ANI for SMS" at the extension level using a "private" ANI for this user, does it work that way? Or does it still send outbound SM/MMS using the System-level Notification setup?
  10. Another question: trying now to get this to work at the Queue level. I have no other need for queues at the current site, but I do want multiple people to see inbound SMS until they are handled. I set up a Queue as account 600 with two extensions in it and ANI for SMS set. The SMS message is being received, but the log says, "Agent group 600 has no managers for missed message notitfication". When I look at the Queue, I can't find anywhere to set a "manager for missed message notification". I tried setting up a Redirection when All agents logged out, or All agents busy, using a "Night service number" of one of the extensions, but I continue to see "Agent group 600 has no managers for missed message notitfication". How do I set up the queue for receiving SMS? Do "agents" have to log in to the queue to get this to work? How do I set up the missed message notification?
  11. No, because according to the documentation, that "currently" only applies to Bandwidth. I assumed that meant that other providers use a different means to transmit MMS. Address for pulling MMS content: This is the address is used to set up the provider (it is currently used only for Bandwidth; however it may be used later for other providers as well). This is the URL that will be used to set up the provider POST address for the PBX. The address should be the HTTP or HTTPS address under which the PBX can be reached from the SMS/MMS provider. Thanks, though, outbound MMS does work after putting in the phonesystem.domain.com URL there. This is all pretty confusing. Why is SMS/MMS, which applies to one trunk for one tenant, set up under System > Messaging > Notifications? phonesystem.domain.com is also a tenant-level setting. What if I had a multi-tenant setup with different URLs and different API keys for each tenant? Shouldn't this be set up parallel to trunk setup?
  12. I've confirmed using curl that the missing URL prefix is the issue: This fails: curl --request POST 'https://sms.telnyx.com/messages' \ --header 'Accept: application/json' \ --header 'x-profile-secret: abcd1234abcd' \ --header 'Content-Type: application/json' \ --data-raw '{ "from": "+18581112222", "to": "+16193334444", "body": {"subject":"","media_urls":[{"img":"/recvsms/15/vjy1l1xdfbm61234.png"}]} }' This works: curl --request POST 'https://sms.telnyx.com/messages' \ --header 'Accept: application/json' \ --header 'x-profile-secret: abcd1234abcd' \ --header 'Content-Type: application/json' \ --data-raw '{ "from": "+18581112222", "to": "+16193334444", "body": {"subject":"","media_urls":[{"img":"https://phonesystem.mydomain.com/recvsms/15/vjy1l1xdfbm61234.png"}]} }' There's also a security concern: HTTPS is not enforced on the /recvsms folder. http://phonesystem.mydomain.com/recvsms/15/vjy1l1xdfbm61234.png should either fail or redirect to HTTPS, but it just works.
  13. Okay I re-updated to 68.0.28. Now: Inbound SMS: works Inbound MMS: works Outbound SMS: works Outbound MMS: fails So we're making progress, but outbound MMS is still failing. I'm not clear on the reason, but if I had to guess, I'd say Vodia needs to tell Telnyx the full path where it can retrieve the MMS content. It's specifying a subfolder of /recvsms, but how would Telnyx know the full URL to call back to for the content? Here is the outbound log, after stripping out a bunch of TLS negotiation traffic (and by the way, why does it keep repeating "Closing connection smtp.google.com:465" when Google is not involved here at all?). [9] 11:47:17.685 https:sms.telnyx.com:443: Send request (269 bytes)ⓘ POST https://sms.telnyx.com/messages HTTP/1.1 Host: sms.telnyx.com x-profile-secret: **************** Content-Type: application/json Content-Length: 123 {"from":"+18581112222","to":"+16193334444","body":{"subject":"","media_urls":[{"img":"/recvsms/15/vjy1l1xdfbm61234.png"}]}} [9] 11:47:18.185 Received 1078 bytesⓘ HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 875 Date: Thu, 09 Mar 2023 19:47:18 GMT Server: Python/3.9 aiohttp/3.8.0 Strict-Transport-Security: max-age=15552000 [7] 11:47:18.185 https://sms.telnyx.com/messages: Return code 200 (875 bytes)ⓘ { "sms_id": "403186c7-e9dd-4678-be36-...", "gw_sms_id": "", "user_id": "b5140d6d-9622-4697-a0f2-...", "profile_id": "09a1e465-b795-415f-bbad-...", "status": "queued", "delivery_status": "", "msg": { "body": "{\"subject\": \"\", \"media_urls\": [{\"img\": \"/recvsms/15/vjy1l1xdfbm61234.png\"}]}", "src": "+18581112222", "dst": "+16193334444", "is_mms": true, "original_body": "{\"subject\": \"\", \"media_urls\": [{\"img\": \"/recvsms/15/vjy1l1xdfbm61234.png\"}]}" }, "coding": 0, "parts": 1, "created": 1678391238041, "updated": 1678391238041, "delivery_status_webhook_url": "", "delivery_status_failover_url": "", "errors": [], "date_created": "2023-03-09T19:47:18.041000", "date_updated": "2023-03-09T19:47:18.041000", "carrier": "BANDWIDTH.COM CLEC, LLC - CA", "line_type": "Wireline" } [8] 11:47:18.185 https://sms.telnyx.com/messages: Return headersⓘ Content-Type: application/json; charset=utf-8 Content-Length: 875 Date: Thu, 09 Mar 2023 19:47:18 GMT Server: Python/3.9 aiohttp/3.8.0 Strict-Transport-Security: max-age=15552000
  14. Okay I updated to 68.0.28. Now when I test inbound SMS, I get this (omitting most of one 5500-character line that looks like it is listing every file in the system): [9] 18:28:41.178 Request from 192.76.120.142:49518 for /recvsmsⓘ POST /recvsms HTTP/1.1 Host: phonesystem.mydomain.com X-Telnyx-Signature: t=1678328920,h=LAxBs5hfsKU23MvwD7bwAlBIYNtOWBvr4fAthk2wsxQ= Content-Type: application/json Accept: */* Accept-Encoding: gzip, deflate User-Agent: Python/3.7 aiohttp/3.8.1 Content-Length: 145 [7] 18:28:41.179 Provisioning without domain contextⓘ [9] 18:28:41.179 Tried to match recvsmsⓘ logo-320x240.jpg logo-480x272.jpg logo-800x480.jpg aastra.cfg startup.cfg 0c1105######.cfg [over 5000 characters of file names] [8] 18:28:41.179 Receive SMSⓘ {"sms_id": "04d30015-0e91-40af-a439-4a174c010d63", "direction": "inbound", "from": "+16191112222", "to": "+18583334444", "body": "To check logs"} [8] 18:28:41.179 SMS not enabled by default (setting=, default=true)ⓘ [7] 18:28:41.179 Closing connection smtp.google.com:465ⓘ What am I missing? Why is it searching 100+ file names for the /recvsms URL? Why does is say "SMS not enabled by default"? I can try MMS tomorrow, but maybe we can get SMS working first.
  15. I'll answer that, in case others come here as I did when Speech to Text isn't working. To see logging, go to System > Status > Logfile, click Settings, set Log length to 500 lines and log level to 9 (all events) and click Clear. Then leave a voicemail for someone who should receive a voicemail transcription, go back to the logs and Refresh. I found a 403 error with this message: The setup article doesn't mention it, but you have to enable the API in the Google console. And to do that, you'll have to set up and enable a Billing account. (I had a credit card registered in Google Pay, but that wasn't enough.) The API is free for 60 minutes/month, then $.024/minute. But a new account gets a $300 credit to use within a year, I think it is. After all that, l left a voicemail saying "Okay I have now enabled the Google Speech to Text API." The voicemail email has the transcription: "Okay, I have now unable to Google. Speech-to-text API." Oh well, speech to text is never perfect!
  16. Okay I think I figured this out. On the IVR tab, the Gap time (sec) is appended to the welcome message, whether you Play default welcome message or, as I'm doing, use Service flags and Upload content. A Gap time of Default adds about 2.5 seconds after playing the welcome message. A Gap time of 0 eliminates that blank space. In the UI, maybe Gap time could be moved down below the list of service flag recordings since it is played after whichever welcome message is used.
  17. Well that's pretty cool--I hadn't tried a PCAP from Vodia before. I generated one at the extension level. It does a nice job of showing graphically what I've been trying to describe: a 2.5-second gap between audio files played by two AAs:
  18. I'm trying to configure SMS with Telnyx on 68.0.26. According to the release notes, SMS and MMS work since version 64 with Telnyx. I know I had trouble when I was testing SMS with version 66 in 2020. Has this has all been fixed now? Following the blog post, I've configured Telnyx API v1 messaging with a /recvsms webhook, put the Profile Secret into System > Settings > Messaging > Notifications, set the Default ANI with a +1 prefix, and in an extension, set the ANI for SMS to the same number (although the +1 prefix gets stripped in the extension). Testing results: Inbound SMS: fail Inbound MMS: fail Outbound SMS: works Outbound MMS: fail On inbound SMS, when I send an SMS to the Telnyx number, I see this in the Vodia system (not tenant) log: [9] 9:24:59.136 Accept connection 9815 from 192.76.120.139ⓘ [9] 9:24:59.136 192.76.120.139:39066: Receive Client Hello(0303B176..00000000)ⓘ [9] 9:24:59.136 192.76.120.139:39066: Client Hello TLS version(0303)ⓘ [7] 9:24:59.136 192.76.120.139:39066: TLS in domain phonesystem.mydomain.com ⓘ [6] 9:24:59.136 192.76.120.139:39066: Session 38745A3A..C9638221 not foundⓘ [9] 9:24:59.136 192.76.120.139:39066: Matched cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ⓘ [7] 9:24:59.136 192.76.120.139:39066: Received client hello for domain phonesystem.mydomain.com ⓘ [9] 9:24:59.136 192.76.120.139:39066: Send Server Hello(03036407..AEC02F00)ⓘ [7] 9:24:59.136 192.76.120.139:39066: Sending certificate chain phonesystem.mydomain.com R3 ISRG Root X1ⓘ [9] 9:24:59.136 192.76.120.139:39066: Send Certificate(000FBB00..F9DDE739)ⓘ [9] 9:24:59.234 192.76.120.139:39066: Send Server Key Exchange(03001741..91F6415B)ⓘ [9] 9:24:59.234 192.76.120.139:39066: Send Hello Done()ⓘ [6] 9:24:59.299 Delete HTTP connection 9815 from 192.76.120.139:39066ⓘ [9] 9:24:59.377 Accept connection 9816 from 192.76.120.139ⓘ [9] 9:24:59.377 192.76.120.139:59969: Receive Client Hello(03039B08..00000000)ⓘ [9] 9:24:59.377 192.76.120.139:59969: Client Hello TLS version(0303)ⓘ [7] 9:24:59.377 192.76.120.139:59969: TLS in domain phonesystem.mydomain.com ⓘ [6] 9:24:59.377 192.76.120.139:59969: Session AD136E57..D43B7ACC not foundⓘ [9] 9:24:59.377 192.76.120.139:59969: Matched cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ⓘ [7] 9:24:59.377 192.76.120.139:59969: Received client hello for domain phonesystem.mydomain.com ⓘ [9] 9:24:59.377 192.76.120.139:59969: Send Server Hello(03036407..DCC02F00)ⓘ [7] 9:24:59.377 192.76.120.139:59969: Sending certificate chain phonesystem.mydomain.com R3 ISRG Root X1ⓘ [9] 9:24:59.377 192.76.120.139:59969: Send Certificate(000FBB00..F9DDE739)ⓘ [9] 9:24:59.475 192.76.120.139:59969: Send Server Key Exchange(03001741..5136C19F)ⓘ [9] 9:24:59.475 192.76.120.139:59969: Send Hello Done()ⓘ [6] 9:24:59.546 Delete HTTP connection 9816 from 192.76.120.139:59969ⓘ 192.76.120.139 belongs to Telnyx. So it looks like Telnyx connects successfully to Vodia, but what happens after that? Where's my message? On inbound MMS, I don't see anything in the Vodia logs, although the Telnyx Record Detail show the message as received by the appropriate messaging profile Outbound SMS is working, so I guess the Profile Secret is correct in Vodia. Outbound MMS: I tried sending a small PNG and a small JPG from the Windows client. The sent image does not appear until after I reload the message thread. The message is not delivered; it shows "failed" in the Telnyx Record Details. Interesting that it at least got as far as Telnyx. I don't see a failure reason. What am I missing for getting SMS and MMS to work with Telnyx? Thanks, Mark
  19. Thanks. Tried switching to pre-recorded and I still have the short delay. I'm not hearing static though. This is a "fall-through" or "waterfall" part of the AA: 800 Welcome (scheduled service flag varies message for open or closed) 810 Worship Times (a different, manual service flag varies message if it's a special week) 820 Please Press 1, 2, 3, etc. I haven't finished setting up 820 yet; I'm listening to the transition from 800 to 810 and 810 to 820. I turned media logging up to 9 and see this in the System log when I call 800 from a desk phone x.200: [6] 8:42:47.340 Port 53: Sending RTP to 162.199.111.222:12608, codec PCMU/8000ⓘ [6] 8:42:47.340 Last message repeated 2 timesⓘ [9] 8:42:47.340 Port 53: Received first RTP packetⓘ [9] 8:42:48.790 Last message repeated 2 timesⓘ [9] 8:42:48.790 Port 53: RTCP SR time=658361:730150000 timestamp=3885714988 packets=73 octets=11680ⓘ [9] 8:42:53.789 Last message repeated 2 timesⓘ [9] 8:42:53.789 Port 53: RTCP SR time=658366:730150000 timestamp=3885754988 packets=323 octets=51680ⓘ [8] 8:42:55.934 Media: Dropping audio_en/aa_enter_extension_number.wav from cacheⓘ [8] 8:42:55.934 Media: Dropping audio_en/synth/efef07e31f8f8dd5c507691716593307.wav from cacheⓘ [8] 8:42:55.934 Media: Dropping recordings/att9.wav from cacheⓘ [4] 8:42:57.934 Call 43: Dial number 810 from user 800 and dial plan Defaultⓘ [8] 8:42:57.935 Port 53: state code from 200 to 200ⓘ [8] 8:42:58.581 Port 53: Clearing port with SIP Call-ID 0_885738201@192.168.1.141ⓘ It doesn't give a start and stop time for each .wav file it plays. Oddly, att9.wav is the pre-recorded message for x.810, so why is it dropped from cache before transferring to 810? I do wonder what it's doing from 8:42:55 to 8:42:57. The delay isn't awful, just odd. I was just hoping there was something I missed in terms of how to configure for no delay.
  20. I could see the issue for hard phones taken home, if that were ever to happen. From what you said earlier, as long as they just use phone/desktop apps, no need to open SIP to the world, right? Just HTTPS and RTP? BTW I'm curious why you say, "you need only HTTPS to be on the standard port (443)." Is is it just to simplify so users don't have add the custom port, e.g. https://pbx.domain.com:8443 ?
  21. Okay will look into TLS, though I turn off SIP ALG in my UniFi routers so rewriting hasn't been an issue. I was planning to just use the Azure firewall to lock down SIP and I guess LPAP (which I'm not using yet) to the customer's IP and trunk's IP addresses. Seems that should eliminate all junk traffic, no? In other words, why change default ports if the only IPs that can reach the system are known and trusted?
  22. Thank you both. @Vodia Support EU, I don't see any "releases" described in the ports table? I am using Pro 68.0.26 so I think that's pretty current. I've successfully provisioned a Yealink T42G phone by manually assigning the MAC address and manually provisioning. (Automatic MAC detection only works on a LAN I believe.) @Vodia PBX, good tips, thanks. You're recommending TCP but not necessarily TLS for the SIP traffic from the phones? My thought was to get things working on default ports and protocols, then start tweaking.
  23. @RichardDCG, thank you for your reply. The only difference in my setup is that I had Hangup Time 0 and Repeats = Repeat (both defaults I believe). But even after changing to 0 and 1 respectively, I still have a 2-3 second delay after each prompt. Are you using pre-recorded prompts or are you using text-to-speech? I'm using text-to-speech. It occurred to me that the speech engine might be appending silence at the end of the recording, and in fact I do see about 0.3 - 0.5 seconds of silence at the end of the recordings, but the delay seems longer.
  24. I'm running Vodia 68.0.26 on Azure. I like to use the Azure firewall to protect the PBX as much as possible. For 3CX, this meant: Allow SIP (5060 TCP/UDP) _only_ to/from the the trunk provider. This means no one else can send SIP traffic. (I also set up the trunk provider to restrict SIP traffic to only the PBX's IP address.) Allow RTP media (UDP) from anywhere. Allow 3CX tunnel (5090 TCP/UDP) from anywhere. This is used by the on-premises Session Border Controller client, running on a Windows computer, and by the various apps (Windows, cell phones). Allow the web app (443 or 5001 TCP) from anywhere. Used by the admin interface and web client. I'm trying to wrap my head around how this is going to work in Vodia without #3 to tunnel SIP and media from the customer site to the server. I assume that I need to additionally open 5060 to the customer's IP address for their desk phones? And the phones will automatically negotiate and connect whatever audio ports they need without additional configuration on my side? The apps don't need 5060? I've already configured "private public" at System > Settings > SIP > Settings > IP routing list, which I guess is what Vodia calls an SBC? Or do I need to set up a VPN? Thanks, Mark
×
×
  • Create New...