[asterisk-ss7] 18xE1 - managed to get it working

Anton anton.vazir at gmail.com
Tue Dec 11 23:33:31 CST 2007

So for working with more than 8E1, openscannel in transport.c must look as follows below, and
there is a bug in config.c in load_config_host - too short linkset_name_buf - so for me it reaches the end exactly on 8th span 
(all depends on linkset names and dpc style) but anyway 
100 char is too short for this, so 9th span had incorrect value on dpc, since it was truncated 
so 9th E1 did not work already - that was magic that I did 
not get initially (since logically there should not be difference between 8th and 9th spans)

So for me it looks now 
      char dpc_spec_buf[500] = {0,};
      char linkset_name_buf[500];
      char dpc_buf[50];

and zap-style changes in openscannel

int openschannel(struct link* link)
//  char devname[100];
  char *devname;
  int fd, res;
  int zapid = link->schannel + link->first_zapid;

//  sprintf(devname, "/dev/zap/%d", zapid);

  devname = "/dev/zap/channel";
  fd = open(devname, O_RDWR);
  if(fd < 0) {
    ast_log(LOG_WARNING, "Unable to open signalling link zaptel device %s: %s\n",
            devname, strerror(errno));
    goto fail;

  if (ioctl(fd, ZT_SPECIFY, &zapid)) {
         ast_log(LOG_WARNING, "Unable to specify channel %d: %s\n", zapid, strerror(errno));
         goto fail;

  bi.txbufpolicy = ZT_POLICY_IMMEDIATE;
  bi.rxbufpolicy = ZT_POLICY_IMMEDIATE;
  bi.numbufs = NUM_ZAP_BUF;
  bi.bufsize = ZAP_BUF_SIZE;
  if (ioctl(fd, ZT_SET_BUFINFO, &bi)) {
    ast_log(LOG_WARNING, "Unable to set buffering policy on signalling link "
            "zaptel device: %s\n", strerror(errno));
    goto fail;

  res = setnonblock_fd(fd);
  if(res < 0) {
    ast_log(LOG_WARNING, "SS7: Could not set signalling link fd non-blocking: "
            "%s.\n", strerror(errno));
    goto fail;
  return fd;
  return -1;

On Sunday 09 December 2007, Anton wrote:
> Hello Anders!
> Still cannot use chan_ss7 with over 8 e1s since chan_ss7
> tries to access to /dev/zap/channel files and zaptel does
> not create over 256 (/dev system limitation i think)
> Could you please tell how did you succeed to use over 8E1
> on your side since you have written that it supports over
> 8E1? I have over 8 signalling links in the single system
> and 8th is on the 9th E1.
> [Dec 10 02:17:57] NOTICE[10770]: mtp.c:2190 mtp_init:
> Initialising 8 signalling links
> [Dec 10 02:17:57] WARNING[10770]: transport.c:182
> openschannel: Unable to open signalling link zaptel
> device /dev/zap/264: No such file or directory
> Regards,
> Anton.
> _______________________________________________
> --Bandwidth and Colocation Provided by
> http://www.api-digital.com--
> asterisk-ss7 mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-ss7

More information about the asterisk-ss7 mailing list