FreePBX + Zoiper shows “Unauthorized” on local LAN 401

I have a FreePBX server running on a local network at:

192.168.0.104

Zoiper softphone is on the same LAN.

Problem:
When I configure a SIP account in Zoiper using a FreePBX extension, registration always fails with “Unauthorized”.

What I have done:

  • Created an extension in FreePBX → Applications → Extensions

  • Using the Secret (not voicemail password)

  • Zoiper settings:

    • Account type: SIP

    • Username: extension number

    • Auth username: extension number

    • Password: Secret

    • Domain/Host: 192.168.0.104

    • Transport: UDP

  • Extension channel type: PJSIP

  • Zoiper and FreePBX are on the same subnet (192.168.0.x)

  • No NAT or public IP involved

Result:
Zoiper always shows Unauthorized when registering.

Question:
What commonly causes “Unauthorized” between Zoiper and FreePBX on a local LAN when credentials appear correct?
What logs or configuration should I check to identify the exact reason?

Trying to register!

Are you actually saying that you get two “unauthorised” responses, with the same nonce? That’s typically caused by their being no match between requestor and an endpoint, and is done to prevent a malicious requestor distinguishing between valid and invalid endpoint matching conditions (for a phone, this would normally mean the From user was wrong).

One 401, followed by a pause, would typically because the registrant never sent any authentication, which would typically be because it had none configured. This would also happen if the 401 never reached the phone, but I guess you are reporting what you are seeing on the phone.

Two with different nonces would typically be because the resend with authentication was too late and the nonce had expired.

One 401, followed by a resend getting a 200, would be the normal exchange.

I think the problem is with freepbx is not founding the extension (I made extension CHAN-pjsip) but when I load extensions it shows none [2025-12-15 14:39:18] NOTICE[6121]: res_pjsip/pjsip_distributor.c:688 log_failed_request: Request ‘REGISTER’ from ‘“ali” sip:[email protected]’ failed for ‘192.168.0.101:61561’ (callid: 58XUnRDcvu8UfbowdbD71A..) - No matching endpoint found
[2025-12-15 14:39:18] NOTICE[6121]: res_pjsip/pjsip_distributor.c:688 log_failed_request: Request ‘REGISTER’ from ‘“ali” <sip:[email protected]>’ failed for ‘192.168.0.101:61561’ (callid: 58XUnRDcvu8UfbowdbD71A..) - Failed to authenticate
<— Transmitting SIP response (523 bytes) to UDP:192.168.0.101:61561 —>
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.0.101:61561;rport=61561;received=192.168.0.101;branch=z9hG4bK-524287-1—dd4c1c2b9a752b0c
Call-ID: 58XUnRDcvu8UfbowdbD71A..
From: “ali” <sip:[email protected]>;tag=e7ae581d
To: “ali” <sip:[email protected]>;tag=z9hG4bK-524287-1—dd4c1c2b9a752b0c
CSeq: 2 REGISTER
WWW-Authenticate: Digest realm=“asterisk”,nonce=“1765827558/6d2845ccee5464094a729d0bf5c5033a”,opaque=“32d77fe4639925d4”,algorithm=MD5,qop=“auth”
Server: FPBX-17.0.19.32(22.6.0)
Content-Length: 0

and when looking for users

debian*CLI> pjsip show endpoints
No objects found.

When creating the extension, were any errors displayed upon Submit or Apply Config?

Try creating an extension with only extension number and Display Name; everything else left at defaults.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.