HITECH PBX / USER MANUAL

Your guide to
connected work.

Set up your extension, use the Hi-Tech portsip app and manage your portal account. Portal RC4.28 · Mobile 0.1.7 pilot.

In this guide

1. Getting started

This guide covers the Hitech PBX Extension Portal RC4.28 and the Hi-Tech portsip 0.1.7 mobile pilot. Use the portal to manage your account, extensions, inbound numbers, queues, reports and outgoing-call balance. Use the mobile app to register an extension and make or receive audio calls.

The portal and the app use different credentials. Your administrator supplies your portal account and assigns your SIP extension. Logging in to one does not log in to the other.

Where you sign inCredentialsWhat it opens
Extension Portal in your browserYour portal email and portal passwordAccount pages, live monitoring, settings and reports
Hi-Tech portsip on AndroidExtension / SIP username, SIP secret, SIP server and portYour registered mobile extension and calling screens

Your first connection

  1. Sign in to the portal with the account supplied by your administrator.
  2. Open My Extensions. Find your assigned extension and use Reveal or Copy for its SIP password.
  3. Obtain the SIP server address, port and supported transport from your administrator. The normal deployment uses UDP on port 5060.
  4. Download and install the Android APK using the login page’s Download APK button.
  5. Open the app, enter the four SIP fields and tap Login. The app pages open after successful registration.
  6. Allow microphone access for calls and notifications for incoming alerts. Make an authorized test call and check audio in both directions.

Incoming DID calls also require an enabled, unexpired assigned number routed to one of your enabled extensions or queues. Paid outgoing calls require an enabled account and carrier, a configured outbound rate, sufficient available credit and a Caller ID that satisfies the carrier’s policy.

2. Portal login and navigation

Enter your email and portal password on the login page. On a phone, use the menu button to open the navigation. On desktop, the sidebar lists the portal sections and can be collapsed. Use Sign out when leaving a shared browser.

Your account determines which records and actions are available. Ordinary users see their own extensions, assigned DIDs, queues, balances and call records. Administrators can select all users or a particular user in supported management and reporting views. Check the selected account before making a change. When Manage portal is active, the account banner identifies the account being managed.

Menu groupPagesPurpose
TelephonyDashboard; My Extensions; Calls Online; Live Call & Extension; Call Records; Number LookupView activity, use SIP account details, inspect live calls and search history.
InboundMy DIDs; Queues; Queue Dashboard; Agent DashboardCheck assigned numbers, manage your queue members and monitor incoming calls.
AccountBalance & Payments; Active Services; My Rates; Personalized Rates; Restricted Numbers; Call Blocking; Downloads; Audit Log; SecurityManage funds, inspect configuration and control account access.
HelpKnowledge Base; ChangelogFind short guidance and release information. This manual provides the complete workflow.
AdministrationAdmin Dashboard; Users & Passwords; DID Assignment; DID Pool; Expired DIDs; Carriers; All Call History; Payments & Balances; Call Billing ReviewAdministrator-only account, routing, carrier, payment and system-wide reporting tools.

The clock, live-call count and balance appear in the header. The call-count button opens Calls Online. The balance button opens the appropriate account balance view. If live observations are unavailable, a dash or stale-data message is different from a confirmed zero.

3. Install or update the Android app

  1. Tap Download APK on the portal login page and save Hi-Tech-portsip-0.1.7-pilot.apk.
  2. Open the downloaded APK. If Android requests permission to install from that browser or file manager, enable it for this installation.
  3. Tap Install. If the compatible earlier pilot is already installed, Android should offer an update. Use the update instead of uninstalling so that existing app data can remain available.
  4. Open Hi-Tech portsip and log in with your extension details.
  5. Allow microphone access when requested. On Android 12 or later, the optional Nearby devices permission enables Bluetooth headset routing; you can use handset or wired audio without it. Enable incoming call notifications and review the app’s background/battery settings.

The APK targets supported Android 8 or newer ARM devices. If Android reports that the package conflicts with an installed app, stop and ask for help; removing the old app can remove locally stored contacts, history and settings. A matching application signature is required for an in-place update.

The Android package is a pilot. Test registration, calls, audio, notifications and the screen sensor on the physical phone and network you intend to use.

If the login secret is incorrect, the app shows Password wrong. Check your SIP secret and try again. Network or occupied-device errors have their own messages.

4. Mobile login and Account settings

A cold start opens the login page with the logo, four fields and the Login button. A failed login stays on that page and shows the error. Returning to an already authenticated background session can reopen that session, including an active call.

Login fieldWhat to enter
Extension / SIP usernameThe exact extension assigned in My Extensions, including any letter prefix and leading zeros.
SIP secretThat extension’s SIP password. Enter it again on a cold login; it is separate from your portal password.
SIP serverThe hostname or IP address supplied for SIP registration. Do not add https://, a page path or your username.
PortThe SIP listener port supplied by the administrator. The usual UDP port is 5060.

New login details use UDP. TCP or TLS requires a corresponding listener configured on the PBX; changing the app setting alone does not enable it. The app retains advanced account settings when signing back in to the same saved account.

Change your display name

  1. After logging in, open Settings → Account.
  2. The display name initially matches the SIP username. Enter the name you want to use.
  3. Tap Save. The account reconnects with the updated details.

The Account form also contains the SIP username, optional Authentication ID, secret, server, port and transport. Leave Authentication ID blank unless your administrator supplies a separate value. A custom display name is retained when logging back in to the same account. It does not change your extension username, portal Agent Alias or the outbound number controlled by the PBX.

End any active call before editing the account or signing out. Settings → Sign out disconnects this app from the extension; incoming calls will stop on this device.

5. Make, answer and manage calls

Place a call

  1. Check that the app shows a connected registration status.
  2. Open Dialpad and enter a number in the format accepted by your provider. Long-press 0 for a plus sign. Tap backspace to remove a digit or long-press it to clear the number.
  3. Tap Call and allow microphone access if requested.
  4. Wait for the destination to answer. Ringing or early call progress is not the same as an answered call.
  5. Tap End call to disconnect.

You can also select a contact or recent call to fill the dialpad. The portal permits internal calls between enabled extensions belonging to the same account; an extension belonging to another user is not an internal destination for your account.

Copy, paste and call back

Use Copy on Dialpad to copy the displayed number, or Paste to insert a number from your clipboard. You can also select text using the phone’s edit menu. Selecting a recent call opens Dialpad with only the number or extension: sip:18005550123@pbx.example becomes 18005550123. Review the number and tap Call. Clipboard text is read only when you request Paste; malformed addresses are rejected.

Answer an incoming call

When supplied by SIP, the incoming-call screen shows the caller’s display name and number separately. A missing display name falls back to the available caller identity. Tap Answer to accept or Decline to reject. If another member answers a simultaneously ringing queue call, ringing on the remaining members can stop. Do Not Disturb in the app rejects new incoming calls on this device.

ControlUse
Mute / UnmuteTurn your microphone off or on during the call.
AudioChoose Speaker, Headphone or Phone. The call screen shows the active route. Headphone requires a connected compatible wired, USB or Bluetooth call headset; Phone uses the handset receiver.
Hold / ResumePause the active call and resume it.
KeypadSend digits to an IVR or other system during the call.
TransferEnter a number or alphanumeric extension such as SENIOR1001 for a blind transfer. Keep letter prefixes and leading zeros. There is no consultation call before this transfer; PBX routing must allow the target. The RC4.28 release permits SIP REFER transfers to enabled extensions in your own account, preserving the call’s billing limit and recording. External numbers and other accounts are not transfer destinations. A rejected unknown destination leaves the original call available. This is a blind transfer: if an accepted destination becomes unavailable or does not answer, the transferred call can end.
End callTerminate the current call.

Use a headset

Connect a wired, USB or Bluetooth call headset, then tap Audio → Headphone. Confirm that both people can hear each other. Headphones without a microphone use the phone’s microphone. Choose Speaker for loudspeaker audio or Phone for the receiver. Unavailable routes cannot be selected. On Android 12 or later, allow Nearby devices when using Bluetooth. Route availability depends on the phone and accessory; test connecting and disconnecting it during a call.

Answered call time is shown in minutes:seconds. This pilot supports one SIP account and one active audio call. It does not include video calls, conferences or recordings stored by the mobile app. Server recordings, where enabled, are accessed through the portal.

6. Screen off when held to your ear

Version 0.1.7 retains proximity handling for a call using the phone’s built-in earpiece. When the phone is held near your face, the proximity sensor can turn the display off to prevent accidental touches. Moving it away lets the display return.

Audio route or call stateScreen behavior
Active call through the built-in earpieceProximity sensing controls screen blanking near your face.
SpeakerphoneNear-ear blanking is disabled so call controls remain accessible.
Wired headphones or Bluetooth audioNear-ear blanking is disabled; connecting earphones alone does not turn the display off.
Call held or endedThe app releases its call proximity handling.

This behavior requires a working sensor supported by the device. Keep the area near the top of the screen clear of an obstructing cover or screen protector. Test a connected call through the earpiece, move the phone to your ear and away, then repeat with Speaker selected. Normal Android or iPhone display timeout settings still apply when the app is not using proximity blanking.

The operating system provides this sensor-controlled display behavior. Android proximity display reference.

6a. Call from your browser

On the login page, choose Open Webphone. Enter your extension and SIP secret, allow microphone access and wait for registration. The browser uses this portal’s secure WebSocket connection; no separate SIP server field is needed.

Use Dialpad, Contacts, Recents, Messages and Settings. During a call, the screen shows the supplied caller name and number and offers mute, hold, keypad and hangup. Audio output choices depend on the browser and connected hardware. Transfers and SIP messages require matching PBX support.

Keep the browser tab open and the device awake for dependable incoming ringing. Closing or suspending the tab can disconnect it. Browser calling does not provide mobile background push, CallKit integration or phone proximity handling. The iPhone package remains source for an Apple-signed build.

Microphone noise reduction

The browser offers noise suppression, echo cancellation and automatic microphone level controls when supported by the device. These can reduce room noise and echo, but cannot remove every sound. Android’s current SIP engine uses the phone’s available communication audio processing and echo cancellation; it does not include a separate RNNoise filter. A close-fitting headset microphone helps reduce the amount of surrounding sound picked up.

Administrators: RC4.28 adds secure WebSocket SIP and WebRTC media support. HTTPS certificates, RTP firewall access and the external media address must be correct. Restricted networks may require a configured TURN relay. Browser and mobile call audio must be checked after installation.

7. Contacts, Recents, Messages and Settings

Contacts

Use Add contact to save a local name and number or extension. Load phone contacts requests address-book permission. Search by name or number and tap the star to add or remove a favorite. Selecting a contact opens its number in the dialpad. Local contacts are stored on this phone.

Recents

Switch between All and Missed calls. Entries show direction, outcome, duration and time. Tap an entry to prepare a callback. This list is the app’s device history; use the portal’s Call Records for account-wide call and billing records.

Messages

Choose New message, enter a compatible extension, type a message and send. Reopen the conversation to check its delivery state. These are SIP messages, not SMS. Sending and receiving depend on SIP MESSAGE support in the PBX and the other client; a submitted message is not proof that it was delivered.

Settings

SettingWhat it does
AccountEdit display name and SIP connection details after logging in.
Light themeChoose white with gold text or the dark Hitech Gold appearance.
Do Not DisturbDecline new incoming calls on this device.
Block anonymous callsApply the app’s additional local check for missing or withheld caller identity. The portal’s server-wide inbound protection is described below.
Audio codecsEnable codecs supported by the engine and PBX. Keep at least one enabled and use the administrator’s supported list.
AdvancedEcho cancellation, optional SRTP requirement, DTMF mode, voicemail number and registration refresh.
Incoming call notificationsOpen Android’s notification controls for the app.
Battery settings / Background ringingReview background availability and the limitations of direct SIP registration.
AboutView version, SDK and licensing information.
Sign outDisconnect the SIP account on this device after ending active calls.

Enable Require SRTP only if your PBX supports the corresponding media encryption. TLS and SRTP are separate settings; choosing one does not configure the other. The default DTMF mode uses telephone events; SIP INFO is an optional alternative for a PBX that requires it. The Voicemail button dials the number you configure; it is not a visual voicemail inbox.

Keep notifications and background activity available if you need incoming calls while another app is open. Android force-stop, battery restrictions or loss of connectivity can prevent ringing. This pilot has no PBX push wake-up service, so background availability must be verified on each phone.

8. My Extensions

Each extension row shows connection status, SIP username, Agent Alias, Caller ID, masked SIP password, whether it is enabled, and recording status. The list updates in the background every five seconds. Use the search, status filter and Refresh button when checking a particular extension.

  1. Find the extension you need. Online means the PBX currently observes a registered contact; it does not by itself confirm that a carrier call or two-way audio will work.
  2. Use Copy next to the username or SIP password when configuring the mobile app. Reveal shows the password on screen.
  3. Open Edit or the row menu to change the allowed settings: SIP secret, Agent Alias, Caller ID, codecs.
  4. Save and reconnect any phones affected by a secret or connection-setting change.

Only administrators create extensions or change their usernames. They can add one extension or use sequential bulk creation for an account. A range such as SALES009 with a count of three creates SALES009, SALES010 and SALES011. The administrator can select shared or generated secrets for a bulk operation.

One device per extension is enforced by the server. Use Hi-Tech portsip 0.1.7 or this portal’s webphone. Older apps and direct SIP-secret registration cannot connect. An online device must sign out before another device can sign in. If a phone is switched off, replacement becomes available after at least 90 seconds and a fresh PBX check confirms it is offline with no active call. A replaced device is signed out when it reconnects. Agent Alias labels the extension in portal operations. The app’s display name is edited separately in the app’s Account page.

The portal’s stored ringtone preference does not configure the Hi-Tech portsip app’s incoming sound. Use Android notification settings for the installed app.

9. Caller ID and outbound carrier policy

A new extension receives a generated 11-digit Caller ID starting with 1 when the field is left blank. Existing Caller IDs are preserved when editing with a blank field. You can save a numeric Caller ID of 3–15 digits with an optional plus or international 00 prefix, but saving a value does not establish that the carrier permits it.

Carrier policyNumber used and validation
Owned DID on the outbound carrierThe extension’s Caller ID must correspond to an enabled DID assigned to that user on the selected outbound carrier.
Owned DID on any carrierThe number must still correspond to an enabled DID assigned to that user, but may belong to another configured carrier.
Provider-permitted fixed CLIThe provider’s configured fixed Caller ID is used instead of the extension’s saved number.
Provider-permitted random CLIA Caller ID is generated for each outbound call using the configured prefix and length. It overrides the extension’s saved number.

Only an administrator configures carrier policies. Fixed or random policies require the provider-permission setting. Use a policy and identity allowed for your service. If assigned DID values work but other saved values do not, ask the administrator to inspect the carrier’s policy and the failed call’s reason before changing passwords or restarting services.

The mobile display name does not bypass this policy. There is no separate policy in this release that sends any arbitrary per-extension number without the configured carrier validation.

10. My DIDs and inbound routing

A DID is an inbound number delivered by a carrier. My DIDs shows the numbers assigned to your account, their labels, destinations, expiry date, configured inbound rate and monthly fee, enabled state and recording setting. Users can purchase listed pool numbers and set their own destination; administrators provision inventory and set its purchase term.

Buy a DID

  1. Open My DIDs → Buy DID. Review the available number, one-time purchase price, validity days, estimated expiry, displayed inbound rate and monthly fee.
  2. Select a number and choose Wallet balance or USDT QR. Wallet purchases use spendable balance after call reservations.
  3. For QR, scan the receiving address and send the exact six-decimal USDT amount on TRON / TRC20. The page updates every five seconds. Wait for the configured blockchain confirmations.
  4. After successful payment, the number appears in My DIDs with its final expiry. Your first enabled queue is selected automatically, sorted by queue name and then ID. If none exists, use Set destination to select an enabled extension or create an enabled queue before receiving calls.

The purchase price is charged once. The displayed inbound rate and monthly fee remain configuration and are not automatically billed by this purchase feature. The exact QR amount includes a matching suffix below one cent, which stays in your wallet. DID prices can be below the ordinary USD50 wallet top-up minimum.

QR invoices last one hour and reserve inventory for two hours. A detected transfer may extend confirmation grace to24 hours from checkout. Purchase History lets you reopen or cancel a pending checkout before a transfer is detected. A cancelled, expired or unavailable purchase cannot claim another buyer’s number; a later verified matching payment stays in your wallet. Different amounts or payments needing review require administrator verification.

Expiry and destination changes

Your purchased term starts when wallet purchase or verified QR settlement completes. Each validity day means 24 hours; waiting for payment confirmation does not consume the term. The final expiry is shown in My DIDs using your selected timezone. At the deadline, the number disappears from My DIDs and no new call is routed to you through it. Existing connected calls can finish. Expiry does not automatically renew, charge again or refund the purchase.

Open My DIDs → Set destination on your number and choose one of your own enabled queues or extensions. Save, then test an incoming call. If the list is empty, create or enable a destination first. You cannot select another account’s destination, and changing your route does not extend its expiry.

DIDs already assigned before RC4.23 and checkouts started before RC4.23 keep their existing entitlement without a new expiry. Purchases made with an expiry in RC4.23 or later retain that expiry when the portal is updated, including to RC4.28. Changing the pool term later does not rewrite a completed purchase’s expiry.

Administrator Expired DIDs

Administration → Expired DIDs shows expired purchased numbers, the expiry date and last assigned user. The archive task checks every five seconds; new calls are blocked at the actual deadline even before archiving completes. Choose Delete DID to remove expired inventory, or Reuse to Pool to clear the old assignment/destination and return the number as unlisted. Review the carrier, price and validity in DID Pool before listing it again. Reuse gives a future completed purchase a fresh term and the new buyer’s queue.

The carrier must still provision a reused number. Portal expiry, deletion or reuse does not cancel the carrier service, refund the former owner or erase financial history. There is no automatic renewal.

Administrator DID Pool

Record inbound calls is checked by default when adding a new number. Administrators can turn it off before saving, or use Edit / Unlist to change an available number. The pool table shows Recording On or Off. This setting remains on the DID after manual assignment or a completed wallet/QR purchase and appears in the user’s My DIDs → Record calls column. Users can view it but cannot change it through Set destination. Existing numbers keep their saved setting; an upgrade does not turn recording on for them.

For an assigned number, administrators can use DID Assignment → Set destination → Record inbound calls. Extension recording is a separate setting under My Extensions → Enabled / Recording → Rec → Save. If a DID routes directly to an extension, either switch can request recording; turn both off to disable recording for that direct route. Changes apply to new calls.

Open Administration → DID Pool, add a number already purchased from an enabled carrier, set its purchase price and Validity days (1–3650 days, initially 30), then list it. This does not order or provision a number at the carrier. Unassigned existing numbers are available for listing. Unlist a number before assigning/deleting it manually. Reserved numbers cannot be changed until checkout finishes or expires.

Administrator routing setup

  1. Open Administration → DID Assignment → Add DID.
  2. Enter the number and label, select its owner and carrier, and enter any configured inbound rate and monthly fee.
  3. Save, then use Set destination to choose an extension or queue belonging to that owner.
  4. Choose whether to record inbound calls and save the destination. Confirm that the DID, owner, carrier and destination are enabled.

Assign / Edit includes the number, label, owner, carrier, inbound rate, monthly fee and enabled setting. Changing ownership clears the old destination; select a destination belonging to the new owner afterward. Deletion is an administrator action with confirmation.

Configured DID rates and fees are displayed configuration values. They are not proof of payment or automatic deductions. Incoming calls do not consume the portal’s outgoing-call wallet.

Anonymous inbound calls

The RC4.19 protection remains included in RC4.28: carrier DID calls with missing, withheld or anonymous caller identity are rejected by the PBX before routing to an extension or queue. When the call can be attributed to an account, its record shows Blocked: Anonymous caller. The rejected call does not ring the extension and does not create a recording. This server rule is separate from the optional local rejection setting in the mobile app.

11. Queues and simultaneous ringing

A queue offers incoming callers to a group of your extensions. Users can create and edit queues in their own account and manage their own queue members. Queue deletion is administrator-only.

  1. Open Queues → Add Queue and enter a name.
  2. Choose Simultaneous to ring available members together, or Sequential to offer a call in the configured member order.
  3. Set Ring timeout, Retry after decline and Max wait, then save.
  4. Choose Manage agents, select the extensions and save the members.
  5. Use My DIDs → Set destination to route your assigned, unexpired DID to this enabled queue, or ask the administrator to configure it.
TimingMeaningSupported range
Ring timeoutTime allowed for a ringing offer before the queue moves on or retries.5–300 seconds
Retry after declineDelay between queue attempts.1–300 seconds
Max waitMaximum time the caller may remain in that queue.5–7,200 seconds

In Simultaneous mode, when one agent answers, that agent becomes busy and the next waiting call can be offered to the remaining available agents. The queue is configured to exclude busy members and to allow waiting callers to progress as agents become available.

For example, four inbound callers do not all have to wait for the first answered conversation to finish when other agents remain available. They are distributed as the queue and member states allow. A caller can still hang up, reach Max wait or fail to join an unavailable queue. More agents do not eliminate waiting limits or connectivity problems.

Before deleting a queue, the administrator must change any DID that still routes to it. Check Queue Dashboard for waiting callers and Agent Dashboard for availability when investigating missed calls.

12. Dashboard and live monitoring

On mobile, tap the floating Live Calls button to open Live Call & Extension. Its count follows the selected account and existing live feed. Admin and user tables update in the background every five seconds while the page is visible, preserving open editors, filters and playing recordings. Faster live call updates remain enabled. If an account or session changes, reload the page before continuing.

Dashboard

The dashboard summarizes balance, spend, call counts and talk time for Today, Last 7 days or Last 30 days. The call-volume chart compares answered and missed calls for the selected range. It also shows extension status and recent calls. Changing the report period changes the report totals; it does not redefine the current live-call count.

Calls Online

The call list, header count and live balance update in the background. Duration begins when the call is answered, and the displayed outgoing cost advances with elapsed answered time. Incoming and internal calls have no outgoing-wallet cost.

Leave Live updates enabled. Use Refresh for a new observation. A stale-data notice means the display cannot currently establish fresh call state; an unavailable count must not be treated as zero. Updates have network and processing delay and are not an instantaneous guarantee.

Hangup is available for a user’s own live calls only when their administrator allows it. Administrators retain call control across the selected scope. The same permission applies to Hangup/Decline actions in the updated mobile app and webphone. It cannot prevent a device losing power or its network connection. Review the call identified in the confirmation before submitting. The button can be unavailable until a fresh call observation is present. A submitted command must still be confirmed by the call’s ended state.

Live Call & Extension

This page places Queue Monitor and Agent Monitor side by side on a wide screen and stacks them on a smaller screen. Observations refresh every five seconds without reloading the page.

MonitorColumnsHow to read it
Queue MonitorQueue, Agent, Status, CallerID, Duration, Wait timeInspect waiting or active incoming calls and the agent associated with a call.
Agent MonitorAgent, Queue, Status, Number, Calls, Last callInspect extension availability and answered inbound activity today.

Calls counts inbound calls answered today, including a call still in progress. It excludes outbound calls and unanswered ring attempts. Last call is the elapsed time since the latest completed inbound call today; a dash means none. The day follows the viewer’s saved timezone, not automatically the phone’s location. Administrators can choose all users or a particular account.

Queue Dashboard and Agent Dashboard

Open Filters to select Today, Last 7 days, Last 30 days or custom dates, and a queue. Agent Dashboard also supports an agent selector and online/active filtering. Queue Dashboard shows current waiting and active calls independently of the selected historical date range.

Agent Dashboard’s Handled total counts completed answered calls. Missed queue rings counts unsuccessful ring attempts, including retries, so it can differ from the number of distinct callers who were not answered. AHT is talk time divided by handled calls. These definitions differ from the Agent Monitor’s current-day Calls count, which includes an answered call still running.

Elapsed durations use minutes:seconds. Input fields explicitly labelled seconds, and numeric seconds in CSV exports, remain seconds for configuration and analysis.

Block Caller: use the action on a Call Records row and confirm the displayed number. For administrators, Block Caller appears after Delete and applies to the record's account. Users can block only from their own records. The block stops future incoming calls from that number; it does not delete the record or end a current call. Remove it later in Call Blocking. Numbers that cannot be safely identified have no block action.

13. Call Records, recordings and Number Lookup

  1. Open Call Records and expand Filters.
  2. Choose dates, SIP user, Caller ID, dialed number, direction or status, then Apply filters.
  3. Use the row action to open call details. Review status, extension, real and billed duration, rate and cost together.
  4. Choose 10, 25, 50 or 100 rows per page as needed.
  5. Use Export CSV to download records matching the active filters.
StatusInterpretation
Ringing / UpAn active call is progressing or has been answered. Background updates can change the status as events arrive.
AnsweredThe recorded call was answered; review duration and cost for the completed result.
No answer / Busy / CancelledThe call did not establish an answered conversation, or the caller cancelled the attempt.
Failed / Blocked / DID disabledRouting, policy, account or carrier conditions prevented the call. The status alone may not identify the failing SIP leg.
Insufficient fundsThe outgoing call could not obtain the required wallet allowance.
Blocked: Anonymous callerThe PBX rejected a carrier inbound call with anonymous or withheld identity before offering it to an extension.

Where a recording is available, use the audio controls to play, pause or seek; the browser may offer download controls. Access is restricted to the permitted account or administrator view. Recording unavailable can mean recording was disabled, the file is not ready, the call predates recording support, or retention has removed it. Turning on recording now cannot reconstruct earlier audio.

Only administrators have call-history row deletion. Deleting a record does not refund or erase settled wallet charges. Use the balance ledger for financial reconciliation.

Number Lookup searches your extensions, assigned DIDs and matching call history. Administrators can search within their selected user scope. This is an account-data search; a matching result does not confirm that the carrier can route a new call, and it is not an external telephone-directory or line-type lookup service.

13a. Reports

Open Reports to view Received Calls, Missed Calls, Summary per Day, Summary Day User, Summary Day by Agent, Summary per Month or Summary per User. Administrators can select All users or one account. Users see only their own records.

Choose dates, extension and a caller ID or number, then Apply filters. Summary reports also filter direction. Export CSV downloads the complete filtered report; Print prints the current page. Tables refresh every five seconds, keeping the selected dates and filters.

Received Calls includes completed answered incoming calls. Missed Calls includes incoming no answer, busy, cancelled and failed calls. Summaries include all completed visible calls; active calls remain in live views. Dates follow call start time in your selected timezone. Duration and average answered duration (ACD) use minutes:seconds. Answer seizure ratio (ASR) is answered calls divided by completed attempts. Other outcomes includes blocked, denied and unknown calls.

Agent identifies the saved SIP extension. A queue call with no saved extension is Unattributed / Queue. Call charges are saved customer charges, separated by account currency, with six decimal places. Carrier purchase cost and profit are not tracked. Removed history is excluded; its settled wallet entries remain.

14. Balance, call cost and USDT payments

Paid outgoing carrier calls use a prepaid USD balance. The administrator assigns one flat rate per minute. Billing uses whole answered seconds: answered seconds × rate ÷ 60, with the final charge rounded up to six decimal places. A new rate applies to new calls; already admitted calls keep their rate.

The header live balance reflects current outgoing usage. Available credit and Reserved funds in Balance & Payments serve different purposes: funds can be held for calls until final settlement, and unused reserved credit is released afterward. Do not add or subtract the same usage twice when comparing the live display and ledger. A final call charge appears in Balance history after settlement.

Incoming calls, internal calls between your extensions and unanswered calls have no answered outgoing talk-time charge. A pending settlement can keep funds reserved until an administrator reviews its final record.

Add funds using a payment request

  1. Open Balance & Payments → Add Funds.
  2. Enter at least 50 USDT and choose Create payment request.
  3. Read the exact amount, TRON address and expiry shown on this request. A small identifying fraction is added; the full matched received amount is credited.
  4. In your wallet, select USDT on TRON / TRC20. Use the displayed address and exact received amount. The QR contains the address, so enter the amount separately.
  5. Allow for any wallet withdrawal fee when checking the amount that will arrive. Send before the request expires and do not reuse a paid or expired request.
  6. Watch the request progress through awaiting transfer, detected, confirming and credited. Use Check now for a fresh check.

A confirmed matching USDT amount credits outgoing-call balance at 1 USDT to USD 1. Automatic credit requires the correct token, network, receiving address, matching amount and required confirmations. If the monitor is unavailable, read the displayed status and contact the administrator before sending another transfer.

A transfer is still pending

Keep the completed transfer’s transaction ID and the payment request details. An administrator can use Check blockchain or Verify transaction. A confirmed transfer that did not match automatically may require review and evidence identifying the correct payer. A public transaction hash alone does not prove which user sent the payment. Do not make a duplicate transfer merely because the portal has not yet updated.

Balance history records deposits, manual credits and call charges. Use its Export CSV for reconciliation. Administrators can add manual credit through the account’s Add balance action and review calls awaiting settlement in Call Billing Review.

15. My Rates, Personalized Rates and Active Services

My Rates and Personalized Rates show the same assigned account rate in this release. There is one flat outgoing carrier rate for the account; these pages do not offer separate destination-by-destination rates. A rate shown as not configured needs administrator attention before outbound calling. Only administrators change it.

Active Services provides service information where available. An ordinary user may see an empty list if no recurring services are published. The administrator view summarizes configured extensions, DIDs, queues and enabled DID monthly-fee values. Those fee values are configuration, not receipts or automatic wallet debits.

16. Restricted Numbers and Call Blocking

Restricted Numbers

Use a destination restriction to prevent outgoing calls to a number or prefix. Choose Add, select the destination type, enter the prefix and reason, mark it active and save. Use the number format used for outbound dialing, including any relevant plus prefix. Ask the administrator to review a restriction if calls to an expected destination are blocked.

Administrators can add, edit and remove destination restrictions for selected users. Legacy Caller ID restriction entries may be visible, but matching individual Caller ID restriction rows is not enforced by this call runtime. The global anonymous inbound rule is separate and is enforced before routing.

Call Blocking

The inbound and outbound switches block new calls for the account in the selected direction. Outbound blocking also prevents calls between that user’s extensions. Inbound blocking prevents incoming DID routing. Existing connected calls remain connected.

Blocked caller IDs: block an exact caller number from Recents in the app or the webphone’s history, use Block Caller on a Call Records row, or manage the shared list here in Call Blocking. The updated app connects to the displayed HTTPS portal during Login. Block is deliberately absent from its active-call screen to prevent accidental blocking. The rule belongs to your portal account and stops matching future incoming DID calls and calls from blocked numeric extensions before they ring. It does not block that number for other accounts or end a current call.

These switches are not a selective line-type filter. Use them only when the intended result is to stop new calls in that direction, and save the settings after changing them. To manage blocked destination prefixes, use Restricted Numbers instead.

17. Timezone, themes, Audit Log and Security

Timezone and appearance

The default portal timezone is America/New_York, even when you connect from another country. Tap the header clock, choose your timezone and Save. The preference applies to the clock, report dates, filters and current-day boundaries and is saved to your account across devices. New York follows its daylight-saving rules; it is not a fixed UTC offset.

Hitech-Gold is the default color selection for mobile and desktop portal views. Use the theme picker for other palettes; Black & White remains an available choice. Use the light/dark control for appearance. The Android app’s theme preference is managed separately in its Settings.

Audit Log

Open Audit Log to review recorded account changes and actions. Administrators can review account-scoped actions across users. It is useful for establishing who changed a route, extension or setting; it is separate from call history and the balance ledger.

Security and passwords

  1. Open Security to inspect active browser sessions, their IP addresses and activity times.
  2. Use End session for a particular browser, or Sign out other sessions to keep the current browser and close the others.
  3. In Security, enter your current portal password and a new password of 10–72 characters.
  4. If you cannot sign in, contact the administrator who manages your account for a reset.

Security shows portal browser sessions, not mobile SIP registrations. Ending a browser session is not a SIP logout. To stop a phone’s registration, sign out in the app or ask the administrator to manage the extension. A portal password change and a SIP secret change are separate operations.

18. Administrator workflows

Administrator pages expose actions that affect other users. Select and verify the owner before changing account details, routing or funding. All-user reporting is useful for oversight; a selected account is useful when investigating a single user.

PageTypical task
Admin DashboardReview overall account and telephony activity.
Users & PasswordsCreate a user, set their role, enabled state, outbound carrier and rate; reset passwords; manage their portal; add balance.
My Extensions with account selectionCreate individual or sequential bulk extensions and manage their SIP credentials and settings.
DID PoolList carrier-owned inventory with a purchase price, validity days and recording setting, unlist available numbers and review purchase history.
Expired DIDsReview expiry and last assigned user; delete expired inventory or return it to the pool as unlisted for review.
DID AssignmentAdd, assign, edit or delete DIDs, and route them to the owner’s extensions or queues.
CarriersConfigure provider connectivity and outbound Caller ID policy. Use the actual provider’s supplied settings.
All Call HistoryFilter, inspect, export and, where appropriate, delete call-history rows across accounts.
Payments & BalancesReview account balances and deposits, verify transactions and assign confirmed unmatched transfers after payer verification.
Call Billing ReviewInvestigate calls whose final charge or reserved funds need verified settlement information.

New user accounts start at zero outgoing credit. A zero rate explicitly permits free outbound calls; a missing rate disables paid outbound setup. Set the intended rate and funding before handing over the account.

DID, carrier, queue and call-history deletion are administrator actions. Dependency checks can block deletion while a carrier is assigned or a DID still points to a queue. Read the confirmation and reassign dependencies through the relevant configuration pages first. Removing a user preserves historical financial and call information for administrator review; it is not a balance refund.

Use the release’s fresh-install instructions only for a new server and its existing-server update instructions for an existing deployment. Server administration, carrier changes and application updates are separate from a user downloading the mobile APK.

19. Troubleshooting

ProblemWhat to check
Login remains on the SIP formRead the error. Confirm the exact SIP username and secret, server address and listener port. A portal password cannot authenticate the SIP extension.
408 / registration timeoutConfirm the app has network access and uses the provisioned transport and port. Retry on Wi-Fi and mobile data separately with identical account settings.
Wi-Fi works; mobile data does notCheck cellular-data permission and repeat the network comparison without changing credentials. Network filtering, NAT, routing or firewall behavior needs a correlated capture to identify the cause.
Connected status, but outgoing call failsCheck account/carrier enabled state, available wallet funds, rate, destination restrictions and Caller ID policy. Review the matching call record and administrator diagnostics.
Only an assigned DID works as Caller IDThe carrier may use an owned-DID policy. Editing the number does not change that policy. Ask the administrator to verify the intended provider-supported policy.
One-way audio or silenceCheck microphone permission, mute, selected audio route and codec overlap. If these are correct, the administrator needs to inspect RTP/media and NAT paths.
No ring while the app is in the backgroundCheck registration, notification permission, DND and background battery restrictions. Force-stop prevents ringing. This pilot does not include push wake-up.
Screen stays on at your earConfirm an active call is using the built-in earpiece, not Speaker or an external headset. Check for a covered or unsupported proximity sensor.
Screen remains darkMove the phone away, clear the sensor area and end the call or change the audio route when controls are available. Check the device’s normal screen lock state.
Queue calls do not reach an agentCheck DID destination, queue membership, agent registration, enabled state, DND, busy state and queue wait limits.
Live count or status appears delayedRead freshness/coverage notices, keep live updates on and use Refresh. Check timezone and account selection before comparing counts across pages.
Recording unavailableConfirm recording was enabled for that call. Allow processing time and ask the administrator about file availability and retention.
Payment sent but not creditedOpen the request and Check now. Verify network, exact amount and confirmations; supply its transaction ID privately to the administrator for verification.

A network switch changes the phone’s path to the PBX. Repeated mobile-data failure with immediate Wi-Fi success identifies a network-dependent problem, but does not prove that a specific IP was blocked. SIP registration and voice media are separate traffic flows, so registration success alone does not establish two-way audio. Asterisk’s NAT guidance explains these paths.

When asking for support, provide the app/portal version, extension username, exact local time and timezone, call direction, error message, phone model, Android version, network type and non-secret SIP server/port/transport. Use a private support channel for call IDs or payment references. Never include a SIP secret, portal password, wallet recovery phrase or private signing key in a screenshot or public report.

If other users have live calls, coordinate any restart or PBX configuration change with the administrator. A diagnostic report should establish the current failure before disruptive action is taken.

20. Downloads, iPhone source and release scope

The public login page provides the Android download and this manual. The authenticated Downloads page can also show files shared for the account. Source and build instructions accompany the release for future maintenance.

FilePurpose
Hi-Tech-portsip-0.1.7-pilot.apkInstallable signed Android pilot.
Hi-Tech-portsip-source-0.1.7.zipAndroid and iPhone source, build scripts and documentation.
Hi-Tech-portsip-iPhone-source-0.1.7.zipSeparate iPhone Xcode source project.
INSTALL_HI_TECH_PORTSIP_0.1.7.txtInstallation, connection and validation guidance.
xoloip-extension-portal-v4.0.0-rc4.25.zipComplete portal update package for server administration.

The iPhone ZIP is source code, not an installable IPA. It needs a build on an Apple development environment, appropriate signing and a distribution route before users can install it. A TestFlight release can be shared after that process is completed; the source ZIP itself cannot be installed by tapping it on an iPhone. Apple TestFlight information.

The iPhone source includes the corresponding mobile screens and proximity handling, but physical-device validation remains required. Reliable ringing when iOS suspends the app also needs a PBX/APNs push integration, which this pilot does not include.

The mobile app is audio-only and supports one account and one active call. Carrier interoperability, phone audio quality and background delivery depend on deployment and device testing. SIP messaging needs corresponding server support. The application is not a substitute for emergency telephone service.

21. Privacy, support and responsible use

Call metadata, recordings where enabled, account changes and wallet entries are managed by the portal. The mobile app also keeps device-local history, messages and contacts. Sign-out and changing a browser session are not requests to erase those records.

Use only accounts, numbers and Caller IDs authorized for your service. Follow your organization’s recording and retention requirements. Share recordings or exported reports only with the intended recipients, and protect copied SIP passwords as you would other account credentials.

For account access, rates, DIDs, carrier routing, payment review or retained records, contact the administrator or the support contact supplied when your service was provisioned. This guide does not assign an unpublished support number, email address, response-time guarantee or retention period.

Knowledge Base offers short portal help, and Changelog shows published release notes. Refer to the matching release instructions when installing an update and include the version in any issue report.

Account controls and support

Users & Passwords lets an administrator change portal login passwords, allow or disable user Hangup, and choose Low risk or High risk. To set one extension password for a user, open My Extensions and click Changes Password @all in that user’s header, under SIP Password. Enter your chosen password in the popup and Save. That exact password applies to every extension belonging to the selected user, including other pages and filtered-out extensions. No password is generated. Other users and portal login passwords stay unchanged. Existing extension app logins end; agents must sign in again with the chosen password.

DID Pool: users can see and purchase only numbers matching their account’s Low risk or High risk category. Existing accounts and numbers begin as Low risk. Changing a category does not remove existing paid DIDs. A pending payment that no longer matches cannot assign the number; verified funds stay in the wallet.

Chat Support keeps your full conversation and private attachments. Administrators see one thread per user. The unread badge clears when its recipient reads the conversation. You can move the floating support button. We are also available on telegram @hitechpbx_support.

Portal sessions expire after 15 minutes without mouse, touch, keyboard activity or navigation. Automatic refreshes do not extend the session. This portal timeout is separate from the extension app’s device session.

Connected IP appears only in the administrator’s Extensions list. It is the SIP peer address observed by the PBX; browsers behind the web proxy can show the proxy address. Incoming call destinations now show a queue name and number. A historical label such as queue: 8 was the database ID of the routed queue, not the caller’s number or the extension that answered.