SIP daemon for Lantiq devices with owsip
The aim of this project is to provide a working SIP daemon for Lantiq SoCs with MIPS CPU.
owsip utilizes available FXS hardware ports for making calls.
Known Problems / missing features
- fails to work on units with more than 32MiB RAM
- only the primary voice channel works
- handling for incoming calls, while making calls does not exist
- missing answering machine
- missing fax
- missing srtp/ssl login
- missing kpi - kernel acceleration
Using owsip
Once owsip is only and registered you can start to make and answer calls. SIP can dial landline and sip numbers. Currently a number dialed on a key pad is interpreted as a landline. If you want to call a sip account, you need to add a contact entry for this. To dial a contact, simply press the “*” key followed by the “code” sequence. Note that owsip can do keypad letter → number conversion (for example → 3926753).
The “#” key is also mapped to handle dial backends, however “contact” is the only backend we currently have. it is mapped to “#1code”.
Common Options
Name | Type | Required | Default | Description |
---|---|---|---|---|
name | string | yes | owsip | the daemon announces this name |
backend | string | yes | ltq_tapi | tell the daemon which backend to use |
log_level | int | yes | 3 | verbosity |
interface | string | yes | nas0 | bound to this interface, if unsure use nas0 |
local_port | int | yes | 5060 | define port for SIP |
rtp_port | int | yes | 4000 | define port for RTP |
outbound | string | no | (none) | outbound proxy server, define like <sip:192.168.1.1:9060;lr;transport=udp> |
cid | string | no | (none) | enable support for CID. Possible valued: telecordia, etsi_fsk, etsi_dtmf, sin, ntt, kpn_dtmf and kpn_dtmf_fsk |
locale | string | no | (none) | currently supporting only germany and croatia |
revert | int | no | 0 | switch FXS port0 ↔ port1 (work around 2nd port not working) |
STUN Section
This section describes our STUN server.
Name | Type | Required | Default | Description |
---|---|---|---|---|
host | string | no | (none) | STUN host |
port | int | no | (none) | STUN port |
Account Section
This section describes our SIP credentials/server.
Name | Type | Required | Default | Description |
---|---|---|---|---|
realm | string | yes | (none) | SIP realm to connect to |
username | string | yes | (none) | SIP username |
password | string | yes | (none) | SIP password |
disabled | string | no | 0 | by default accounts are enabled |
port | int | yes | -1 | bind account to a specific port |
default | int | no | 0 | use account as default one |
Port Section
This section describes a physical FXS port.
Name | Type | Required | Default | Description |
---|---|---|---|---|
id | int | yes | 0 | the physical port described by the section |
noring | int | no | 0 | if set to 1 the phone will never ring |
nodial | int | no | 0 | if set to 1 then port may not dial numbers |
led | string | no | (none) | set to sysfs path of the led matching the port |
Contact Section
This section describes a contact for short dial.
Name | Type | Required | Default | Description |
---|---|---|---|---|
desc | string | yes | (none) | the name of the contact |
code | string | yes | (none) | the short dial code to match (0-9a-zA-Z) |
dial | string | yes | (none) | the actual number to dial |
type | string | yes | (none) | sip/realm |
account | string | no | (none) | the account to use when making the call |
Relay Section
This section describes a relay on the pcb that activates the fxs port
Name | Type | Required | Default | Description |
---|---|---|---|---|
gpio | int | yes | (none) | gpio to use |
value | int | yes | (none) | value to set gpio to |
Configuration
The owsip configuration file is located at /etc/conf/telephony. This is the default configuration:
config general option 'name' 'owsip' option 'backend' 'ltq_tapi' option 'ossdev' 0 option 'log_level' 3 option 'interface' 'nas0' option 'local_port' 5060 option 'rtp_port' 4000 option 'locale' 'germany' option 'revert' 0 config account 'fxs1' option 'realm' 'myrealm1.com' option 'username' 'myuser1' option 'password' 'mypass1' option 'disabled' 1 config account 'fxs2' option 'realm' 'myrealm2.com' option 'username' 'myuser2' option 'password' 'mypass2' option 'disabled' 1 config stun option 'host' 'stun.myrealm.com' option 'port' '3478' config 'relay' 'relay_31' option 'gpio' '31' option 'value' '1' config 'port' 'port0' option 'id' '0' option 'led' 'soc:green:fxs1' option 'noring' '0' option 'nodial' '0' config 'contact' option 'desc' 'example contact description' option 'code' 'example' option 'dial' '0123456789' option 'type' 'realm'