Looking for a 4G / USB / LTE dongle that supports voice (circuit-switched voice) or VoLTE / PCM audio / audio over USB + ideas and suggestions

Hello.

I’m looking for a 4G / USB / LTE dongle like that,that supports voice (circuit-switched voice) or VoLTE / PCM audio / audio over USB. The module/firmware model I need should be usable in EU or even better,globally.

I plan to use it with FreeBSD because I’m building a phablet based on that OS. What I want to do is to find a relatively easy “path” to add the opportunity for the phablet to place and receive phone calls by using,for example,some kind of basic script. For example like the one below :

#!/usr/bin/env python3
import serial
import time

# Adjust to your modem’s AT command port
MODEM_TTY = "/dev/ttyUSB2"
BAUD = 115200

def send_at(command, wait=1):
    ser.write((command + "\r").encode())
    time.sleep(wait)
    resp = ser.readlines()
    return [line.decode(errors="ignore").strip() for line in resp]

def dial(number):
    print(f"📞 Dialing {number}...")
    print("\n".join(send_at(f"ATD{number};")))

def answer():
    print("✅ Answering call...")
    print("\n".join(send_at("ATA")))

def hangup():
    print("📴 Hanging up...")
    print("\n".join(send_at("ATH")))

def check():
    print("🔍 Checking modem...")
    print("\n".join(send_at("AT")))

def monitor():
    print("📡 Monitoring incoming calls (Ctrl+C to stop)...")
    try:
        while True:
            line = ser.readline().decode(errors="ignore").strip()
            if line:
                print(f"<< {line}")
    except KeyboardInterrupt:
        print("\n🛑 Monitor stopped.")

if __name__ == "__main__":
    try:
        ser = serial.Serial(MODEM_TTY, BAUD, timeout=1)
    except Exception as e:
        print(f"❌ Could not open {MODEM_TTY}: {e}")
        exit(1)

    while True:
        print("\n=== Edge-V Phone Menu ===")
        print("1. Check modem")
        print("2. Dial number")
        print("3. Answer call")
        print("4. Hang up")
        print("5. Monitor incoming calls")
        print("6. Exit")
        choice = input("Select option: ")

        if choice == "1":
            check()
        elif choice == "2":
            number = input("Enter phone number: ")
            dial(number)
        elif choice == "3":
            answer()
        elif choice == "4":
            hangup()
        elif choice == "5":
            monitor()
        elif choice == "6":
            break
        else:
            print("❓ Invalid choice")

I use “ho mobile”. It supports VoLTE (Voice over LTE), which enables high-quality calls when connected to a 4G/5G network.

According with this post :

the Q-EC25 seems to support VoLTE.

What I want more ?

I’ve asked to ChatGPT :

Quectel EC25-E is a 4G LTE USB Dongle with EC25-E LCC module and only supports AT commands Voice. But for PCM audio, it doesn’t support it. So,can it be used to place and receive phone calls ?

and it replied like this :

However, PCM/I²S digital audio interfaces are not available on the EC25-E. That means you cannot directly attach a microphone/speaker at the hardware level.

So,I need to know which model supports the “PCM/I²S digital audio interfaces”.

According with the specs of the Quectel EC25 Series LTE

This (model EC25-E) seems to be the best option for me :

h t t p s : / / i b b . c o / v C 0 G r p z R

Anyway,as u can see on this table :

h t t p s : / / i b b . c o / F L j q c v X J

there aren’t drivers for FreeBSD. Is there some chances that I can place and receive phone calls attaching the dongle via USB to the radxa zero 3W or to the Khadas Edge-V if there aren’t drivers for FreeBSD ? Without drivers,the python code that I have shared for placing and receiving will work ? What kind of limitations will I encounter ?

Very thanks.

1 Like

hi,
Sorry for the late reply.
Does this issue still require support?
I like the idea of ​​building a FreeBSD-enabled phablet with voice capabilities! It’s a really cool and challenging project.
The EC25-E has a PCM port. Other questions require internal confirmation.

Hello.

Thanks for your reply. We are on the right track. EC25-E seems to be the right product,BUT I think I can ask for a better one. My further request is because I’m trying to build a semi mobile device,so the size of every component should be chosen carefully,since I have a little space available. So,I want to ask you if you have a product that has the same features of the EC25-E but that has a smaller size,so that I can hidden it inside the enclosure,for example or I can attach it outside of it,but it should be less visible,less bulky.

Furthermore,I would like to know if you also provide a comfortable gui that allows to use the dongle,something like the Huawei mobile partner,that allows to place and receive phone calls in one click.

And I would also to know if the QUECTEL / SIMCOM A7670E allows to place and receive phone calls like the EC25-E and if it has a PCM port,also

Thanks.

hi ,

  1. Regarding the size issue, @fuguiwang-Q please provide some support.
  2. For the following two questions, could you specify which module and version of Miguang you are using? I need to confirm this internally.

Thanks

Please translate “Miguang” in english language :slight_smile: ; thanks.

Sorry, I made a typing error. Could you please specify which module of quectel and which version you are asking about?

I would like to know if the QUECTEL / SIMCOM A7670E allows to place and receive phone calls and if it has a PCM port.

hi QUECTEL has modules that support voice functionality as well as modules with a PCM interface.

What I want to know is if the SIMCOM A7670E has the support for the voice functionality as well as modules with a PCM interface.