How it works · by OKPATH, INC.

Set up SIM Cat

SIM Cat is one of three parts. You run the other two: an agent on an Android phone that holds your SIM cards, and a server that connects the phone to your iPhone.

The three parts

  • Android agentYour Android phone

    Sits in the phone that holds your SIM cards. It carries the cellular calls and text messages, and talks to your server.

  • ServerA machine you run

    Connects the agent and your iPhone: sign-in, line sync, call signalling and audio, SMS, and push notifications.

  • SIM CatYour iPhone

    The app: keypad, call screen, recents, messages and line switcher. It talks only to your server.

A call you place in SIM Cat goes to your server, then to the Android phone, which places it on the cellular network from one of your SIM cards. An incoming call or message takes the same way back. OKPATH is not in the path: it does not run servers, accounts, phone numbers or SIM plans.

What you need

  • An Android phone with the agent, holding the SIM card or cards you want to use. Keep it powered and online (Wi-Fi or mobile data).
  • A server you run, with a public host name and a certificate for it from a public certificate authority, for example Let’s Encrypt. The server is the sip-server software, which uses Asterisk 22.
  • An account on that server: a login and password that the server’s administrator creates, with your lines assigned to it.
  • An iPhone with iOS 17 or later, and SIM Cat from TestFlight.

The server and agent software

The server software and the Android agent are separate projects, published separately from the app. Links and installation instructions will be added to this page.

What the server listens on

With the server software’s documented defaults, open these on your server’s firewall:

PortUsed for
TCP 30443The HTTPS API: the address you enter in SIM Cat, and the agent’s connection.
TCP 443SIP over TLS: SIM Cat and the agent register here for calls.
UDP 10000–10031Call audio (SRTP). Both SIM Cat and the agent use it.
TCP 20817 (optional)A TURN relay over TLS, for networks that block UDP. Settings › Calls in SIM Cat chooses when to use it.

The administration page of the server listens on TCP 30444, normally reachable only from the server itself.

Sign in

Open SIM Cat. The sign-in screen asks for three things:

  1. Server. The host name of your server, for example sim.example.com, or with a port, sim.example.com:30443. If you leave out the port, SIM Cat uses 30443; if your server’s API is behind a reverse proxy on the standard HTTPS port, enter sim.example.com:443. SIM Cat connects over HTTPS only.
  2. Login and Password. Your server’s administrator gives you these. SIM Cat sends them only to the server you entered, and does not store the password.

After you sign in, SIM Cat shows the lines assigned to you. To use another server, sign out in Settings and enter the other address on the sign-in screen.

If sign-in fails, Support lists what the messages mean and what to check.

Push notifications

Incoming calls while SIM Cat is closed, and message alerts, use Apple’s push notification service. Your server sends them, using Apple push credentials configured on the server. Without push, SIM Cat still places calls and shows incoming calls and new messages while the app is open.

Emergency calls

SIM Cat cannot place emergency calls. The app refuses short numbers such as 911 and 112 and tells you to use your iPhone’s own dialer.