# Nokia S40 SIP
This is a script to generate configurations for SIP on older Nokia (S40) phones.
Note that not all S40 devices are SIP compatible. See [Compatible devices](#compatible-devices) below for more info.
Currently supported phones are:
* Nokia 208 Dual-SIM
* Nokia 515 Single-SIM
with more to come soon.
Only Linux is supported right now. Windows support is planned for the future.
## License
### NOKIA SIP PROV GENERATOR
NOKIA SIP PROV GENERATOR
Copyright (C) 2021 Dovi Cowan
nokiasip@catch.dovicowan.email
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
### libwbxml
libwbxml, the WBXML Library.
Copyright (C) 2002-2008 Aymerick Jehanne
Copyright (C) 2011 Michael Bell
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
LGPL v2.1: http://www.gnu.org/copyleft/lesser.txt
Contact: aymerick@jehanne.org
Home: http://libwbxml.aymerick.com
## Prerequisites
* `python3`
* `libexpat1-dev` (might only be for building `libwbxml` - needs further testing)
`libwbxml` (https://github.com/libwbxml/libwbxml) is provided in `libwbxml/`.
## Usage
`./confGen {deviceType} {username} {password} {server}`
By default, a `config.prov` file will be generated to be pushed to the phone (note: **this must be done by BlueTooth**). You can specify a different output file by passing `--output`.
### Other options
```
$ ./confGen -h
usage: ./confGen [-h] [--provName PROVNAME] [--port PORT] [--proxy PROXY]
[--proxyPort PROXYPORT] [--output OUTPUT]
{nokia208dual.xml,nokia515single.xml} username password
server
Generate provisioning files for Nokia SIP
positional arguments:
{nokia208dual.xml,nokia515single.xml}
Device type
username SIP Username
password SIP Password
server SIP Server
optional arguments:
-h, --help show this help message and exit
--provName PROVNAME Name for provisioning profile (default 'Nokia SIP')
--port PORT SIP Port (default 5060)
--proxy PROXY SIP Proxy
--proxyPort PROXYPORT
SIP Proxy Port (default 5060)
--output OUTPUT Output file (default config.prov)
```
## Compatible devices
The following S40 devices are believed to support SIP.
* Nokia 6260 Slide
* Nokia 6300i
* Nokia 207
* Nokia 208 (Single SIM and Dual SIM)
* Nokia Asha 210 (Single SIM and Dual SIM)
* Nokia Asha 302
* Nokia Asha 303
* Nokia Asha 309
* Nokia Asha 310
* Nokia Asha 311
* Nokia 515 (Single SIM and Dual SIM)
* Nokia C3-01 Touch and Type
* Nokia C3-01 Gold Edition
* Nokia X3-01 Touch and Type
More info is available at [VoIP-info.org](https://voip-info.org/nokia).
### Supporting more phones
Create a new file in `templates/`. Use format "`{device}.xml`" for the file name.
You can use the following parameters anywhere in the file, which will be replaced by `confGen`:
| Template Parameter | CLI Parameter |
|--- | --- |
| `{NAME}` |`--provName` |
|`{PORT}` | `--port` |
| `{REGISTRAR}` | `--proxy` |
| `{REGISTRAR_PORT}` | `--proxyPort` |
| `{USER}` | `username` |
| `{PASSWORD}` | `password` |
| `{DOMAIN}` | `server` |
## Planned future features
* STUN
* Custom SIP expiry
* TCP
* Custom RTP Codecs
* Pushing generic configurations and then allowing the user to sign into an account directly on-device