# SIP Phone

**URL:** <https://discuss.88.io/t/sip-phone/1932>\
**Category:** infrastructure team\
**Created:** [February 18, 2026, 7:15am UTC](https://discuss.88.io/t/sip-phone/1932 "2026-02-18T07:15:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![admin](https://discuss.88.io/user_avatar/discuss.88.io/admin/32/38_2.png) [@admin](https://discuss.88.io/u/admin)\
**Post date:** [February 18, 2026, 7:15am UTC](https://discuss.88.io/t/sip-phone/1932/1 "2026-02-18T07:15:47Z")

</div>

# SIP Phone

Owner Compute is compatible with most SIP Phones.

[Linphone](https://www.linphone.org/en/download/) is the recommended SIP software if you do not have a preference.

We have some notes on how to configure Linphone for Owner Compute:

- iOS - [Linphone iOS App](https://discuss.88.io/t/linphone-ios-app/1070)
- Android - [Linphone Android App](https://discuss.88.io/t/linphone-android-app/1069)

---

<div class="post-metadata">

**Author:** ![admin](https://discuss.88.io/user_avatar/discuss.88.io/admin/32/38_2.png) [@admin](https://discuss.88.io/u/admin)\
**Post date:** [June 11, 2026, 1:43am UTC](https://discuss.88.io/t/sip-phone/1932/2 "2026-06-11T01:43:16Z")

</div>

# SIP Header Requirements

Owner Compute requires the use of up to four SIP variables:

- **From Header**  
The original caller's number, if NO forwarding otherwise it is the forwarder's number.  
ANI variable in Asterisk

- **P-Asserted-Identity**  
The TRUE original caller's number to the destination, even if the "From" header is changed.  
ANI variable in Asterisk

- **Diversion Header**  
This header tells the receiving party that the call was redirected/forwarded and contains the number of the person who forwarded the call.  
RDNIS variable in Asterisk.

- **To Header**  
The final destination number (the person being forwarded to).  
DNIS variable in Asterisk.

## Asterisk

### From

Read pjsip

```auto
exten => s,n,Set(RAW_FROM=${PJSIP_HEADER(read,From)})

```

Read chan\_sip

```auto
exten => s,n,Set(RAW_FROM=${SIP_HEADER(From)})

```

### P-Asserted-Identity

Read pjsip

```auto
exten => s,n,Set(MY_PAI_HEADER=${PJSIP_HEADER(read,P-Asserted-Identity)}

```

Read chan\_sip

```auto
exten => s,n,Set(MY_PAI_HEADER=${SIP_HEADER(P-Asserted-Identity)})

```

Write pjsip

```auto
same => n,Set(PJSIP_HEADER(add,P-Asserted-Identity)=<sip:123456789@yourdomain.com>)

```

Write chan\_sip

```auto
same => n,SipAddHeader(P-Asserted-Identity: <sip:123456789@yourdomain.com>)

```
