This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
telephony:asterisk_md3200_x100p_dahdi [2025/04/29 11:32] – prppedro | telephony:asterisk_md3200_x100p_dahdi [2025/04/29 11:47] (current) – prppedro | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | |||
# Asterisk: DAHDI with X100P Clone (Ambient MD3200) | # Asterisk: DAHDI with X100P Clone (Ambient MD3200) | ||
Line 10: | Line 12: | ||
Asterisk has excellent support on DAHDI. Zapata Telephony Project, or Zaptel, was written by Jim Dixon a long time ago, incubated by the Asterisk community. Now, Sangoma keeps maintaining it, even though both digital and analogue trunk lines are becoming nearly extinct animals, with the onset of SIP technology, now prevalent. | Asterisk has excellent support on DAHDI. Zapata Telephony Project, or Zaptel, was written by Jim Dixon a long time ago, incubated by the Asterisk community. Now, Sangoma keeps maintaining it, even though both digital and analogue trunk lines are becoming nearly extinct animals, with the onset of SIP technology, now prevalent. | ||
- | |||
## Setup Overview | ## Setup Overview | ||
+ | |||
+ | Gear: | ||
+ | * i7-3770 | ||
+ | * 16 GB of RAM | ||
+ | * Proxmox v8 | ||
My first idea was to do a PCI passthrough of that card to a virtual machine. That would provide optimal isolation and keep both the kernel module and Asterisk fairly isolated from the host. Unfortunately, | My first idea was to do a PCI passthrough of that card to a virtual machine. That would provide optimal isolation and keep both the kernel module and Asterisk fairly isolated from the host. Unfortunately, | ||
Then I decided to run Asterisk inside a LXC container, passing through the device descriptors to the container. Despite that, we **do not** need to make it privileged. | Then I decided to run Asterisk inside a LXC container, passing through the device descriptors to the container. Despite that, we **do not** need to make it privileged. | ||
+ | |||
## The Actual Process | ## The Actual Process | ||
+ | |||
+ | ### Kernel module | ||
First, clone the project repository somewhere. | First, clone the project repository somewhere. | ||
Line 55: | Line 64: | ||
**Either way**, now we have a X100P clone card added to the system. Check endpoints at `/ | **Either way**, now we have a X100P clone card added to the system. Check endpoints at `/ | ||
+ | |||
### Asterisk on LXC | ### Asterisk on LXC | ||
You may use any Linux of your choice, I guess. Though I suppose the easiest route is to use any standard RPM or DEB-based distro. As per my default behaviour, I went with Debian. Particularly Bookworm, the currently stable version. | You may use any Linux of your choice, I guess. Though I suppose the easiest route is to use any standard RPM or DEB-based distro. As per my default behaviour, I went with Debian. Particularly Bookworm, the currently stable version. | ||
+ | |||
+ | Make sure you're passing on the correct devices to the container: | ||
+ | ``` | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | ``` | ||
+ | |||
+ | It goes in the resource tab at PVE, like this: | ||
+ | |||
+ | {{ : | ||
Install `dahdi-tools`: | Install `dahdi-tools`: |