PJSIP Provider
Use PJSIP technology for res_pjsip provider trunks. MiRTA PBX maintains related ps_endpoints, ps_aors, ps_auths, and ps_endpoint_id_ips rows when realtime is enabled.
Common Realtime Fields
| Field | Applies to | Purpose | Fictional example |
|---|
| Use Realtime Account | SIP, PJSIP, IAX2 | Creates and maintains the Asterisk realtime peer, endpoint, AOR, auth, or IAX row for the provider. | checked |
| Transport | SIP, PJSIP | SIP signaling transport. For PJSIP this maps to transport objects such as transport-udp, transport-tcp, or transport-tls. | UDP or TLS |
| RTP Encryption (SRTP) | SIP, PJSIP | Enables SRTP media encryption when supported by the provider. PJSIP stores this as media_encryption=sdes. | No for standard UDP SIP, Yes for TLS/SRTP trunks |
| Host | SIP, PJSIP, IAX2 | Remote provider address. Use an IP address when inbound realtime matching must identify the carrier by source IP. | 203.0.113.20 |
| Port | SIP, PJSIP, IAX2 | Remote signaling port. Defaults are commonly 5060 for SIP/PJSIP and 4569 for IAX2. | 5060 |
| Outbound Proxy | SIP, PJSIP | Proxy URI or host used for outbound signaling when required by the carrier. | sip-proxy.example.invalid |
| Username | SIP, PJSIP, IAX2 | Authentication username sent to the provider. PJSIP stores this in ps_auths.username, chan_sip as defaultuser. | docs_sip_user |
| Password | SIP, PJSIP, IAX2 | Authentication secret for the provider. Use a unique carrier-supplied or generated secret. | FictionalSecret-2026 |
| Qualify | SIP, PJSIP | Enables SIP OPTIONS reachability checks and controls timeout behavior. | Yes |
| Qualify Frequency | SIP, PJSIP | Interval in seconds between provider reachability checks. | 60 secs |
| Codecs | SIP, PJSIP, IAX2 | Allowed audio codecs. MiRTA PBX stores disallow=all and the selected allow list. | alaw, ulaw, g722 |
| Session Expires | SIP, PJSIP | Maximum SIP session refresh interval in seconds. | 1800 |
| DTMF Mode | SIP, PJSIP | DTMF signaling method. PJSIP maps RFC 2833 to rfc4733. | RFC 2833/RFC 4733 |
| RTP Keepalive | SIP, PJSIP | Sends RTP keepalive packets to help keep NAT bindings and media paths active. | 5 seconds |
PJSIP-Specific Fields
| Field | Applies to | Purpose | Fictional example |
|---|
| Transport | PJSIP only | Maps to the selected PJSIP transport object. Use TLS when the carrier requires encrypted signaling. | TLS |
| Host and Port | PJSIP only | Used to build the AOR contact and, when Host is an IP address, the endpoint identify match. | 198.51.100.30:5061 |
| Username and Password | PJSIP only | Stored in ps_auths. If username is empty, MiRTA PBX does not attach username/password auth. | docs_pjsip_user |
| Outbound Proxy | PJSIP only | PJSIP outbound proxy string for the endpoint. | sip:edge.example.invalid;transport=tls |
| Send RPID | PJSIP only | Maps to PJSIP send_rpid and send_pai. | PAI |
| Direct Media | PJSIP only | Allows PJSIP to attempt direct RTP. Disable when NAT, recording, transcoding, or media control requires Asterisk in the RTP path. | No |
| Allow Transfer | PJSIP only | PJSIP allow_transfer. When enabled, the endpoint may request SIP REFER transfers. | No |
| RTP Encryption (SRTP) | PJSIP only | Stores media_encryption=sdes when enabled. | Yes |
| Qualify Frequency and Timeout | PJSIP only | Stored on the AOR as qualify_frequency and qualify_timeout. | 60 secs |
Fictional PJSIP Example
Name: Docs Telecom PJSIP Trunk
Peer Name: docs_telecom_pjsip
Technology: PJSIP
Transport: TLS
RTP Encryption: Yes
Host: 198.51.100.30
Port: 5061
Outbound Proxy: sip:edge.example.invalid;transport=tls
Send RPID: PAI
Direct Media: No
Allow Transfer: No