[ previous ] [ next ] [ threads ]
 To :  Diana Cionoiu <diana-liste@v...>
 From :  =?iso-8859-1?Q?=22Jens_M=F6ller=22?= <talking-via-packets@g...>
 Subject :  Re: [yate] bristuffed yate?
 Date :  Mon, 21 Aug 2006 08:10:19 +0200
Hello Diana,

I found some errors concerning Yate+bristuff. First of all, the driver api changed, as you said. The function pri_hangup changed. The new parameter
is for billing, I think.


diff -u -r -N yate-orig/modules/libypri.cpp yate-modifiziert/modules/libypri.cpp
--- yate-orig/modules/libypri.cpp       2006-07-06 14:08:07.000000000 +0200
+++ yate-modifiziert/modules/libypri.cpp        2006-08-16 12:58:50.000000000 +0200
@@ -571,7 +571,7 @@
        chan = findEmptyChan();
     if (!validChan(chan)) {
        Debug(DebugInfo,"Ring on invalid channel %d on span %d",chan,m_span);
-       ::pri_hangup(pri(),ev.call,PRI_CAUSE_CHANNEL_UNACCEPTABLE);
+       ::pri_hangup(pri(),ev.call,PRI_CAUSE_CHANNEL_UNACCEPTABLE,-1);
        ::pri_destroycall(pri(),ev.call);
        return;
     }
@@ -795,7 +795,7 @@
     closeData();
     m_ring = false;
     if (m_call) {
-       ::pri_hangup(m_span->pri(),(q931_call*)m_call,cause);
+       ::pri_hangup(m_span->pri(),(q931_call*)m_call,cause,-1);
        ::pri_destroycall(m_span->pri(),(q931_call*)m_call);
        m_call = 0;
        Message *m = message("chan.hangup");

As all the other calls to pri_hangup used "-1" as value for the new param, I simply did the same here.

Using this patch, I still got a segfault when calling an ISDN phone. There is some strange behaviour in libpri-1.2.3/q931.c, line 3608.

I replaced 

  memcpy(c->llc, req->llc, sizeof(c->llc));

with

        if (req->llc) {
                memcpy(c->llc, req->llc, sizeof(c->llc));
        } else
        {
                memset (c->llc, 0, sizeof(c->llc));
        }

I don't know if this is a good idea, though. But it seems to work. ;-)

BTW: How do I connect POTS hardware to Yate?

Best regards,

Jens

-------- Original-Nachricht --------
Datum: Wed, 16 Aug 2006 16:52:48 +0300
Von: Diana Cionoiu 
An: "Jens Möller" 
Betreff: Re: [yate] bristuffed yate?

> Hello Jens,
> 
> Unfortunately Klaus (the developer for the isdn bri stuff) has his own 
> way to develop drivers, and tends to change the API. So right now we 
> don't even know what's the bristuff API anymore, since is different at 
> every version.So if something is wrong we have to test it again.
> 
> However a log may help us to debug what's going on, and maybe it will 
> work. You can also join #yate on irc.freenode.net and if someone has 
> time it will try to fix it.
> 
> Diana Cionoiu
> 
> Jens Möller wrote:
> 
> >Hi!
> >
> >Is there anyone using yate together with ISDN bristuff drivers? I tried
> yate-1.0.0-1.tar.gz with bristuff-0.3.0-PRE-1r.tar.gz from
> http://www.junghanns.net/en/download.html on Linux 2.6.17.7.
> >
> >This did not work. I get some debug-messages like this
> >
> > D-channel up on span 1
> >
> >but ISDN does not work at all. I used asterisk with the same kernel and
> bristuff drivers a few minutes before and it did well. My ISDN-Card asks for
> the zaphfc driver module. Is there someone who can help me?
> >
> >Tanks in advance,
> >
> >Jens
> >  
> >

-- 


Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer