First Login
After installing OPBX, you need to create your first organization and administrator account. This guide walks you through the initial setup process.
Registration Process
1. Navigate to the Registration Page
Open your browser and go to:
http://localhost/ui/register
If you configured a different APP_PORT or domain during installation, adjust the URL accordingly. For example: http://your-server:8080/ui/register.
2. Complete the Registration Form
Fill in the required fields:
| Field | Requirements |
|---|---|
| Organization Name | 2-100 characters, unique across the system |
| Admin Email | Valid email address, used for login |
| Password | Minimum 8 characters, must include uppercase, lowercase, number, and special character |
Use a strong, unique password for the admin account. This account has full access to your organization.
3. Submit the Form
Click Create Organization. The system performs these actions:
- Creates your organization with the specified name
- Creates an Owner user account with your email and password
- Issues a Sanctum access token for API access
- Redirects you to the Dashboard
The first organization created on a fresh OPBX installation becomes the primary tenant. Additional organizations can be created later by platform administrators through the platform management interface.
Authentication Modes
OPBX supports dual-mode authentication via Laravel Sanctum:
| Mode | Best For | Behavior |
|---|---|---|
| Bearer token | API clients, SPA default | Returns access_token in JSON; store in localStorage |
| Cookie | Browser SPA sessions | Uses Sanctum cookie/session auth |
The frontend (AuthContext) stores the token in localStorage as opbx_token and attaches it to every API request via an Axios interceptor.
Dashboard Overview
After registration, you land on the Dashboard. This page provides:
- Quick Setup Checklist: Guided steps to configure your PBX
- Call Statistics: Summary of calls made and received
- Active Calls Count: Real-time count of ongoing calls
- System Status: Health indicators for connected services
First Steps After Login
Complete these tasks in order to get your PBX operational:
1. Configure Cloudonix Integration
Navigate to Settings in the sidebar (Owner-only access). Enter your Cloudonix credentials to enable telephony features.
See the Cloudonix Integration guide for detailed instructions.
2. Create Extensions
Go to Extensions in the sidebar and create extensions for your team members. Each extension represents a phone endpoint in your system.
Extensions can be:
- User extensions: Assigned to people with SIP phones
- Conference rooms: Multi-party audio bridges
- Ring groups: Groups that ring together
- IVR menus: Automated phone menus
- AI assistants: Routes to AI providers
- AI load balancers: Distributes calls across AI providers
- Forward: Forwards calls to external numbers
- Custom logic: Advanced routing via webhooks
3. Set Up Phone Numbers (DIDs)
Navigate to Phone Numbers to add your phone numbers. DIDs (Direct Inward Dialing numbers) are the phone numbers callers dial to reach your organization.
Each DID routes to a destination such as:
- A specific extension
- A ring group
- An IVR menu
- Business hours routing
- A conference room
- An AI assistant or AI load balancer
4. Configure Call Routing
Set up how incoming calls flow through your system:
- Define business hours if you want time-based routing
- Create ring groups for departments (Sales, Support, etc.)
- Build IVR menus for self-service options
- Assign DIDs to their destinations
Make test calls to verify your configuration works as expected before announcing new numbers to customers.
Related API Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /v1/auth/register | Create organization and owner account |
| GET | /v1/auth/register/validate | Validate registration prerequisites |
| POST | /v1/auth/login | Authenticate and receive a token |
| GET | /v1/auth/me | Retrieve current user |
| POST | /v1/auth/logout | Revoke current token |
| POST | /v1/auth/refresh | Refresh access token |
See the OPBX REST API reference for request/response schemas.
Next Steps
With your initial setup complete, you are ready to:
If you encounter issues during setup, check the logs with docker compose logs -f app and verify all services are running with docker compose ps.