User Tools

Site Tools


telephony:asterisk_md3200_x100p_dahdi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
telephony:asterisk_md3200_x100p_dahdi [2025/04/29 11:22] – [The Actual Process] prppedrotelephony: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, this dumb board was sharing it's IRQ with SMBus. Some PCI hardware can deal with this, this card couldn't. So I decided on installing the DAHDI modules directly onto the host. Not ideal, but it is what it is.  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, this dumb board was sharing it's IRQ with SMBus. Some PCI hardware can deal with this, this card couldn't. So I decided on installing the DAHDI modules directly onto the host. Not ideal, but it is what it is. 
  
 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 52: Line 61:
 ``` ```
  
-Why is it detected as an ISDN card? No idea. Probably because some ISDN cards do use the same chip. But this driver does nothing to us. The card isn't ISDN and this driver doesn't even allow us to use this card as a dial-up modem. +Why is it detected as an ISDN card? No idea. Probably because some ISDN cards do use the same chip. But this driver does nothing to us. The card isn't ISDN and this driver doesn't even allow us to use this card as a dial-up modem. Since ISDN died long before traditional landlines, this driver seems to be a relic of the past and wouldn't be surprising if it got removed soon. It's fairly obscure and, if there's any detailed documentation on it, it's lost in the mists of time
  
-### Installing Asterisk+**Either way**, now we have a X100P clone card added to the system. Check endpoints at `/dev/dahdi` and `/sys/class/dahdi` to confirm it's working. That's about it for the host. Some of those devices will get bound to a LXC container.  
 + 
 + 
 +### 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.  
 + 
 +Make sure you're passing on the correct devices to the container:  
 +``` 
 +/dev/dahdi/chan/001/001 
 +/dev/dahdi/channel 
 +/dev/dahdi/ctl 
 +/dev/dahdi/pseudo 
 +/dev/dahdi/timer 
 +``` 
 + 
 +It goes in the resource tab at PVE, like this:  
 + 
 +{{ :telephony:pve_dahdi.png?400 | }} 
 + 
 +Install `dahdi-tools`:  
 + 
 +```bash 
 +apt install dahdi-tools 
 +``` 
 + 
 +This will allow you to generate configuration and run tests to confirm the card is working, and will save an incredible amount of time, if it's not, because next steps are a bit of an involved process. 
  
 I've followed those instructions, for the largest part:  I've followed those instructions, for the largest part: 
 https://docs.rockylinux.org/guides/communications/asterisk_installation/#asterisk-configuration https://docs.rockylinux.org/guides/communications/asterisk_installation/#asterisk-configuration
 +
 +FIXME **WIP**
 +
  
    
telephony/asterisk_md3200_x100p_dahdi.1745936559.txt.gz · Last modified: 2025/04/29 11:22 by prppedro