ostra Create an account

How a line works

One iPhone, one SIM, one customer. What happens to your traffic, your texts and your calls, what Ostra checks, and what happens when a check fails.

Reading a line ID

Every line has an ID that names where its phone is and which network it is on. The same two digits give its ports, so an ID is all you need to point a client at a line.

LAX-V-22, an example: metro LAX, Los Angeles; network V, Verizon (A is AT&T and T is T-Mobile); slot 22, its place on the wall.
Ports for slot 22 on lax.gw.ostranetwork.com
PortProtocolWho it answers
30022HTTPS proxyAnyone with the line’s username and secret. The default for browsers and automation.
10022SOCKS5Only the source addresses you list. No credential, because Chromium cannot send one over SOCKS5.
20022HTTPOnly the source addresses you list. Plaintext to the gateway, so prefer HTTPS.

Traffic out goes through the phone

Your client talks to Ostra’s gateway. The gateway hands the connection to the phone for that line, and the phone sends it over its own cellular connection. The site you test sees the line’s carrier address.

A request through LAX-V-22

  1. Your clientcurl, a browser, Playwright, a test suite: anything that takes a proxy, pointed at lax.gw.ostranetwork.com:30022
  2. Ostra gatewayChecks the credential and the blocked list, caps the line’s bandwidth and connections, and records the connection: time, your client’s address, host, port and bytes.
  3. The lineAn iPhone on Verizon’s network in Los Angeles, sending over its own cellular connection
  4. The site you testSees the line’s own address on Verizon’s network, AS6167
Blocked on every line: private and internal networks, the mail ports 25, 465 and 587, and ports 8100 and 9100, and a default list of bank, brokerage, payment app, government and ticketing sites. 3.5 What Ostra blocks
Address families
IPv4 and IPv6. A carrier can drop one family for a while, and the line’s status says so.
Lookups
Host names are looked up through the line, not at the gateway, when the client hands the name to the proxy (socks5h:// or an HTTPS proxy).
Protocols
TCP only. UDP and QUIC are not carried, so a browser falls back to TCP.

The checks, and what happens when one fails

A line is called healthy only on proof: a request that went through its port in the last 3 minutes and left from its carrier’s network. A check that cannot tell is not a pass. Traffic that would leave from any other network closes the port within about a minute. Traffic never leaves from a data center.

  • A request through the port

    Ostra sends its own request through each line’s port every minute. No recent request through the port means no proof, and a line without proof is never shown as healthy.

    Every minute
  • The exit network

    The address the request left from must belong to the line’s carrier. Any other network, or one that cannot be looked up, closes the port within about a minute.

    Every 60 s
  • When the phone cannot carry traffic

    Ostra restarts what it can, and closes the port rather than send traffic another way. Your client gets a refused connection, never a request sent from a data center.

    Port closes

The dashboard shows each line’s status from these checks: Working, Down, No recent probe or Suspended, with the time of the last probe. See a line page, drawn with sample data.

Texts and calls come in to its number

The SIM’s own mobile number is yours while the line is; when the line ends, the number is deleted and never given to another Ostra customer. A line never texts or calls anyone. Texts to it reach you by API, webhook and the dashboard. Calls to it are forwarded to Ostra and ring the Ostra iPhone app and the dashboard.

A sign-in code to (213) 555-0147

  1. Your serviceTexts a sign-in code to the line’s number
  2. The lineExample textYour verification code is 482915.
  3. OstraReads the code, stores the text encrypted and keeps the phone’s own timestamp
  4. YouThe webhook message.received with the code, or the API’s wait for the next text
The number in this example is fictional.
Bodies
In the dashboard a text stays closed until someone opens it, and each opening is recorded with who and when.
Calls
The line forwards every call to Ostra. The caller hears ringing from the first second while Ostra takes any code they key in the first 8 seconds. Then the call rings the Ostra iPhone app, and the dashboard in any browser set to ring, for up to 60 seconds. The first to answer takes the call. Each call is logged with its caller, when the carrier passes the number on, and its time, and reaches you as the event call.received.
Transcription
Off by default. When it is turned on for a line, the caller first hears an announcement that the call is transcribed; then spoken digits are captured too, and a caller nobody answers can leave a voicemail. Ostra keeps the voicemail as text and deletes the recording at Ostra’s calls and messaging provider. The call itself is not recorded.

A new carrier IP, when you ask

Asking for a new carrier IP makes the phone reconnect to its carrier, which then gives it an address on the same network; it can be the one it had before. It happens on one line at a time, when you or your code ask, or when Ostra’s own recovery asks because the line lost IPv4 or IPv6. Never on a schedule.

How often
At most once every 5 minutes and 24 times in any 24 hours per line, and not for an hour after one that left the line much slower. One that Ostra’s recovery asks for counts toward the same limit.
A refusal
Too soon is answered at once with the time the next one is allowed, next_allowed_at. Ostra never holds a request to run later.
Your connections
Connections through the line drop while the phone reconnects. Each new carrier IP is reported as line.ip_changed.

What is kept

The record of what a line did, not what it carried.

Connection records
Time, line, your client’s address, destination host and port, and bytes. Never content. Kept 90 days, and yours to export.
Texts and calls
Encrypted at rest, kept 30 days by default. A code Ostra reads from a text or a call is cleared after 15 minutes.
Who looked
Every staff view of a text or call is logged. Privacy and records