Softphone setup

Connect MicroSIP to CodeB

MicroSIP is a free Windows softphone. Once registered against your CodeB tenant it behaves like any other extension — it rings when someone dials your username, your name pops up on a CodeB Webphone, and you can dial out through the same trunks the browser uses.

Step 1

Install MicroSIP

Download the latest MicroSIP Lite from www.microsip.org/downloads and run the installer. The standard build is fine — you do not need the Pro edition.

MicroSIP runs on Windows 7 and newer. There is no portable version published by the project itself, but the installer puts everything under %ProgramFiles%\MicroSIP and adds a tray icon when launched.

Step 2

Get your SIP credentials

Ask your CodeB administrator for:

Tip: if you are the admin, create or reset users on the register.html page (admin area). Passwords are hashed in your browser before they reach the server.
Step 3

Add the account in MicroSIP

Right-click the MicroSIP window → Account — or pick Add Account… from the menu — and fill the dialog with the values below. The example uses tenant phone.codeb.io and username test; substitute your own.

Account NameAnything you like — this label only shows up inside MicroSIP. CodeB or microsip works fine.
SIP ServerYour CodeB tenant hostname, e.g. phone.codeb.io. Same as the domain.
SIP ProxyThe bridge address with its SIP port, e.g. phone.codeb.io:6070. On the same LAN as the server you can use the local IP instead, e.g. 192.168.0.20:6070 — this avoids one DNS hop.
Username *The username your admin created — e.g. test.
Domain *Same value as SIP Server, e.g. phone.codeb.io. CodeB uses the request domain as the tenant key, so this must match your tenant exactly.
LoginSame value as Username. (MicroSIP allows them to differ for some PBXes; CodeB does not.)
PasswordThe plaintext password your admin gave you.
Display NameHow you want to appear to others — e.g. your first name. Shown as caller-ID on calls you make.

All other fields (encryption, NAT, codecs, etc.) can be left at MicroSIP’s defaults. Leave Auth Name blank — MicroSIP will reuse the Login.

Working example

Account Name
microsip
SIP Server
phone.codeb.io
SIP Proxy
phone.codeb.io:6070
Username *
test
Domain *
phone.codeb.io
Login
test
Password
••••
Display Name
stefan

Click Save. MicroSIP will try to register straight away.

Step 4

Verify it registered

Look at MicroSIP’s status line at the top of the window — the indicator next to the account name should turn green within a second or two, and the status text reads Online. If it stays yellow or red, jump to the troubleshooting section below.

To confirm from the server side, open https://<your-tenant>/registrar.html in a browser. Your username should appear in the list with a fresh lastRefreshUtc timestamp. The contact URI will already have been rewritten to your public source endpoint — that is normal and is what lets the bridge reach you back through NAT.

Step 5

Place a test call

From the MicroSIP keypad:

Inbound calls work the same way: anything routed to your username via inbound-routing.html — whether it originated from the browser, from another softphone, or from a PSTN trunk — will ring MicroSIP.

Reminder for hosts: when you create a room you want SIP callers to be able to dial into, name it r_<something> (e.g. r_sales, r_standup, r_demo). A room called just sales won’t be reachable from a softphone — only browser participants can join it.

Troubleshooting

Status stays yellow with “Stopped” or “Forbidden”

Usually means the username or password is wrong, or the realm does not match. Re-check Step 3, paying attention to the Domain field — it must equal your tenant hostname exactly, e.g. phone.codeb.io with no path, no scheme, no port.

If you have admin access, regenerate the password on register.html and paste the new one straight into MicroSIP.

Status stays yellow with “Request Timeout” or no response

The SIP proxy is unreachable. Verify the port in SIP Proxy — it must be the public SIP port of the bridge, typically 6070. From the same machine, run Test-NetConnection phone.codeb.io -Port 6070 in PowerShell. If it fails, your firewall or your provider is blocking UDP on that port.

If you are on the same LAN as the server, try the local IP form (e.g. 192.168.0.20:6070) instead. NAT traversal between two private networks is not configured for SIP UDP.

Registers fine but inbound calls do not ring MicroSIP

Two common causes. First, your username may not be in any inbound route — ask your admin to add an entry on inbound-routing.html mapping the DID (or caller pattern) to your username. Second, NAT can drop the contact path after roughly 30 seconds of silence; MicroSIP defaults to a 60-second re-registration which keeps the pinhole open. If you still see drops, lower “Re-register every” in MicroSIP’s account settings to 30 seconds.

Call connects but I hear no audio

Almost always RTP being blocked by a router. CodeB streams G.711 (PCMA / PCMU) over the same public IP as the SIP signalling, on dynamic UDP ports. Make sure your router’s SIP-ALG is disabled — consumer SIP-ALG implementations are notorious for breaking SDP. On FRITZ!Box, no special setting is needed; just confirm nothing else is consuming the port range MicroSIP advertises.

Re-registers loudly every few seconds

MicroSIP’s default re-register interval is 60 seconds — if you see it firing more often than that, the server is rejecting the registration and MicroSIP is retrying. Open dial-log.html on the server to see the rejection reason (most often: wrong password or unknown user).

Still stuck? Send your admin the contents of MicroSIP’s Help → Logs for the last minute, plus the timestamp at which you tried — paired with the matching window in dial-log.html, almost any registration or call issue can be pinpointed in under a minute.