bayonne-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Bayonne-devel] Bayonne2, exosip2 2.2.3pl1?


From: Julien Chavanton
Subject: RE: [Bayonne-devel] Bayonne2, exosip2 2.2.3pl1?
Date: Tue, 22 Aug 2006 12:44:24 -0400

Using terminal ethereal it look like the call is answered, if I
understand next step is the RTP stream establishment?

 

tethereal output:

1521.898687 192.168.2.223 -> 192.168.0.156 SIP/SDP Request: INVITE
sip:address@hidden, with session description

1521.920372 192.168.0.156 -> 192.168.2.223 SIP Status: 100 Trying

1521.924766 192.168.0.156 -> 192.168.2.223 SIP/SDP Status: 200 OK, with
session description

1521.929788 192.168.2.223 -> 192.168.0.156 SIP Request: ACK
sip:address@hidden:5070

1674.505497 192.168.2.223 -> 192.168.0.156 SIP Request: BYE
sip:address@hidden:5070

1674.505807 192.168.0.156 -> 192.168.2.223 SIP Status: 200 OK

 

 

-----Original Message-----
From: Julien Chavanton 
Sent: August 22, 2006 10:52 AM
To: Julien Chavanton; David Sugar
Cc: address@hidden
Subject: RE: [Bayonne-devel] Bayonne2, exosip2 2.2.3pl1?

 

Samething with eStara SoftPhone:

 

sip: event 0005=EXOSIP_CALL_INVITE, cid=7, did=8, rid=0, instance=4

sip/3: state=idle, event=201, seq=1

sip/3: state=pickup, event=100, seq=1

sip/3: going active; associated with 202

sip: event 000f=EXOSIP_CALL_ACK, cid=7, did=8, rid=0, instance=4

sip/3: state=pickup, event=503, seq=2

sip/3: state=run, event=100, seq=2

sip/3: BREAK1 dtmf_say

sip/3: BREAK2 dtmf_say

sip: event 0012=EXOSIP_CALL_MESSAGE_NEW, cid=7, did=8, rid=0, instance=4

sip: event 0019=EXOSIP_CALL_CLOSED, cid=7, did=8, rid=0, instance=5

sip/3: closing call

sip/3: state=run, event=209, seq=3

 

 

 

-----Original Message-----

From: address@hidden
[mailto:address@hidden
g] On Behalf Of Julien Chavanton

Sent: August 22, 2006 10:21 AM

To: David Sugar

Cc: address@hidden

Subject: RE: [Bayonne-devel] Bayonne2, exosip2 2.2.3pl1?

 

I downloaded and installed "bayonne2-1.5.27"

 

 

sip: event 0005=EXOSIP_CALL_INVITE, cid=1, did=2, rid=0, instance=4

sip/0: state=idle, event=201, seq=1

sip/0: state=pickup, event=100, seq=1

sip/0: going active; associated with 202

sip: event 000f=EXOSIP_CALL_ACK, cid=1, did=2, rid=0, instance=4

sip/0: state=pickup, event=503, seq=2

sip/0: state=run, event=100, seq=2

sip/0: BREAK1 dtmf_say

sip/0: BREAK2 dtmf_say

sip: event 0012=EXOSIP_CALL_MESSAGE_NEW, cid=1, did=2, rid=0, instance=3

sip: event 0019=EXOSIP_CALL_CLOSED, cid=1, did=2, rid=0, instance=4

sip/0: closing call

sip/0: state=run, event=209, seq=3

 

 

 

 

Could we make a special debug flag for sip when sarting bayonne:

 

Then we could use something like this to have the event description

instead of the hex value this is helping a lot when we debug.

 

Here I have all the event from the latest doc so we can see unsolicited

event if there is any.

 

/*

                slog.debug("sip: event %04x; cid=%d, did=%d, rid=%d,

instance=%d",

                        sevent->type, sevent->cid, sevent->did,

sevent->rid, thread);

*/

 

  char event_str[40];

  strcpy(event_str,"none");

  switch(sevent->type)

  {

  case EXOSIP_REGISTRATION_NEW:

strcpy(event_str,"EXOSIP_REGISTRATION_NEW"); break;

  case EXOSIP_REGISTRATION_SUCCESS:

strcpy(event_str,"EXOSIP_REGISTRATION_SUCCESS"); break;

  case EXOSIP_REGISTRATION_FAILURE:

strcpy(event_str,"EXOSIP_REGISTRATION_FAILURE"); break;

  case EXOSIP_REGISTRATION_REFRESHED:

strcpy(event_str,"EXOSIP_REGISTRATION_REFRESHED"); break;

  case EXOSIP_REGISTRATION_TERMINATED:

strcpy(event_str,"EXOSIP_REGISTRATION_TERMINATED"); break;

  case EXOSIP_CALL_INVITE: strcpy(event_str,"EXOSIP_CALL_INVITE");

break;

  case EXOSIP_CALL_REINVITE: strcpy(event_str,"EXOSIP_CALL_REINVITE");

break;

  case EXOSIP_CALL_NOANSWER: strcpy(event_str,"EXOSIP_CALL_NOANSWER");

break;

  case EXOSIP_CALL_PROCEEDING:

strcpy(event_str,"EXOSIP_CALL_PROCEEDING"); break;

  case EXOSIP_CALL_RINGING: strcpy(event_str," EXOSIP_CALL_RINGING");

break;

  case EXOSIP_CALL_ANSWERED: strcpy(event_str,"EXOSIP_CALL_ANSWERED");

break;

  case EXOSIP_CALL_REDIRECTED:

strcpy(event_str,"EXOSIP_CALL_REDIRECTED"); break;

  case EXOSIP_CALL_REQUESTFAILURE:

strcpy(event_str,"EXOSIP_CALL_REQUESTFAILURE"); break;

  case EXOSIP_CALL_SERVERFAILURE:

strcpy(event_str,"EXOSIP_CALL_SERVERFAILURE"); break;

  case EXOSIP_CALL_GLOBALFAILURE:

strcpy(event_str,"EXOSIP_CALL_GLOBALFAILURE"); break;

  case EXOSIP_CALL_ACK: strcpy(event_str,"EXOSIP_CALL_ACK"); break;

  case EXOSIP_CALL_CANCELLED: strcpy(event_str,"EXOSIP_CALL_CANCELLED");

break;

  case EXOSIP_CALL_TIMEOUT: strcpy(event_str,"EXOSIP_CALL_TIMEOUT");

break;

  case EXOSIP_CALL_MESSAGE_NEW:

strcpy(event_str,"EXOSIP_CALL_MESSAGE_NEW"); break;

  case EXOSIP_CALL_MESSAGE_PROCEEDING:

strcpy(event_str,"EXOSIP_REGISTRATION_NEW"); break;

  case EXOSIP_CALL_MESSAGE_ANSWERED:

strcpy(event_str,"EXOSIP_CALL_MESSAGE_ANSWERED"); break;

  case EXOSIP_CALL_MESSAGE_REDIRECTED:

strcpy(event_str,"EXOSIP_CALL_MESSAGE_REDIRECTED"); break;

  case EXOSIP_CALL_MESSAGE_REQUESTFAILURE:

strcpy(event_str,"EXOSIP_CALL_MESSAGE_REQUESTFAILURE"); break;

  case EXOSIP_CALL_MESSAGE_SERVERFAILURE:

strcpy(event_str,"EXOSIP_CALL_MESSAGE_SERVERFAILURE"); break;

  case EXOSIP_CALL_MESSAGE_GLOBALFAILURE:

strcpy(event_str,"EXOSIP_CALL_MESSAGE_GLOBALFAILURE"); break;

  case EXOSIP_CALL_CLOSED: strcpy(event_str,"EXOSIP_CALL_CLOSED");

break;

  case EXOSIP_CALL_RELEASED: strcpy(event_str,"EXOSIP_CALL_RELEASED");

break;

  case EXOSIP_MESSAGE_NEW: strcpy(event_str,"EXOSIP_MESSAGE_NEW");

break;

  case EXOSIP_MESSAGE_PROCEEDING:

strcpy(event_str,"EXOSIP_MESSAGE_PROCEEDING"); break;

  case EXOSIP_MESSAGE_ANSWERED:

strcpy(event_str,"EXOSIP_MESSAGE_ANSWERED"); break;

  case EXOSIP_MESSAGE_REDIRECTED:

strcpy(event_str,"EXOSIP_MESSAGE_REDIRECTED"); break;

  case EXOSIP_MESSAGE_REQUESTFAILURE:

strcpy(event_str,"EXOSIP_MESSAGE_REQUESTFAILURE"); break;

  case EXOSIP_MESSAGE_SERVERFAILURE:

strcpy(event_str,"EXOSIP_MESSAGE_SERVERFAILURE"); break;

  case EXOSIP_MESSAGE_GLOBALFAILURE:

strcpy(event_str,"EXOSIP_MESSAGE_GLOBALFAILURE"); break;

  case EXOSIP_SUBSCRIPTION_UPDATE:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_UPDATE"); break;

  case EXOSIP_SUBSCRIPTION_CLOSED:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_CLOSED"); break;

  case EXOSIP_SUBSCRIPTION_NOANSWER:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_NOANSWER"); break;

  case EXOSIP_SUBSCRIPTION_PROCEEDING:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_PROCEEDING"); break;

  case EXOSIP_SUBSCRIPTION_ANSWERED:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_ANSWERED"); break;

  case EXOSIP_SUBSCRIPTION_REDIRECTED:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_REDIRECTED"); break;

  case EXOSIP_SUBSCRIPTION_REQUESTFAILURE:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_REQUESTFAILURE"); break;

  case EXOSIP_SUBSCRIPTION_SERVERFAILURE:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_SERVERFAILURE"); break;

  case EXOSIP_SUBSCRIPTION_GLOBALFAILURE:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_GLOBALFAILURE"); break;

  case EXOSIP_SUBSCRIPTION_NOTIFY:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_NOTIFY"); break;

  case EXOSIP_SUBSCRIPTION_RELEASED:

strcpy(event_str,"EXOSIP_SUBSCRIPTION_RELEASED"); break;

  case EXOSIP_IN_SUBSCRIPTION_NEW:

strcpy(event_str,"EXOSIP_IN_SUBSCRIPTION_NEW"); break;

  case EXOSIP_IN_SUBSCRIPTION_RELEASED:

strcpy(event_str,"EXOSIP_IN_SUBSCRIPTION_RELEASED"); break;

  case EXOSIP_NOTIFICATION_NOANSWER:

strcpy(event_str,"EXOSIP_NOTIFICATION_NOANSWER"); break;

  case EXOSIP_NOTIFICATION_PROCEEDING:

strcpy(event_str,"EXOSIP_NOTIFICATION_PROCEEDING"); break;

  case EXOSIP_NOTIFICATION_ANSWERED:

strcpy(event_str,"EXOSIP_NOTIFICATION_ANSWERED"); break;

  case EXOSIP_NOTIFICATION_REDIRECTED:

strcpy(event_str,"EXOSIP_NOTIFICATION_REDIRECTED"); break;

  case EXOSIP_NOTIFICATION_REQUESTFAILURE:

strcpy(event_str,"EXOSIP_NOTIFICATION_REQUESTFAILURE"); break;

  case EXOSIP_NOTIFICATION_SERVERFAILURE:

strcpy(event_str,"EXOSIP_NOTIFICATION_SERVERFAILURE"); break;

  case EXOSIP_NOTIFICATION_GLOBALFAILURE:

strcpy(event_str,"EXOSIP_NOTIFICATION_GLOBALFAILURE"); break;

  case EXOSIP_EVENT_COUNT: strcpy(event_str,"EXOSIP_EVENT_COUNT");

break;

  }

  slog.debug("sip: event %04x=%s, cid=%d, did=%d, rid=%d, instance=%d",

          sevent->type, event_str, sevent->cid, sevent->did,

sevent->rid, thread);

 

 

 

 

 

 

 

-----Original Message-----

From: David Sugar [mailto:address@hidden 

Sent: August 21, 2006 6:37 PM

To: Julien Chavanton

Cc: Julien Chavanton; address@hidden

Subject: Re: [Bayonne-devel] Bayonne2, exosip2 2.2.3pl1?

 

I found a typo in 2833 sdp negotiation which I fixed in .27, but I am

not sure if it is related to this.  When I get back on the east coast I

will try that client out.

 

Julien Chavanton wrote:

> libeXosip2-2.2.3pl1

> 

> I am still testing with XTen the call does not answer?

> 

> 

> sip: event 001b; cid=0, did=0, rid=0, instance=1

> EXOSIP_MESSAGE_NEW

> sip: out of dialog msg BYE

> sip: event 0005; cid=1, did=2, rid=0, instance=1

> EXOSIP_CALL_INVITE

> sip/0: state=idle, event=201, seq=1

> sip/0: state=pickup, event=100, seq=1

> sip/0: going active; associated with 202

> sip: event 000f; cid=1, did=2, rid=0, instance=1

> EXOSIP_CALL_ACK

> sip/0: state=pickup, event=503, seq=2

> sip/0: state=run, event=100, seq=2

> sip/0: BREAK1 dtmf_say

> sip/0: BREAK2 dtmf_say

> sip: event 0012; cid=1, did=2, rid=0, instance=3

> EXOSIP_CALL_MESSAGE_NEW

> sip: event 0019; cid=1, did=2, rid=0, instance=1

> EXOSIP_CALL_CLOSED

> sip/0: closing call

> sip/0: state=run, event=209, seq=3

> driver(s) stopping...

> sip/0: state=run, event=208, seq=4

> sip/0: state=hangup, event=100, seq=4

> 

> 

> -----Original Message-----

> From:

address@hidden

> 

[mailto:address@hidden

> g] On Behalf Of David Sugar

> Sent: August 12, 2006 8:31 AM

> To: Julien Chavanton

> Cc: address@hidden

> Subject: Re: [Bayonne-devel] Bayonne2, exosip2 2.2.3pl1?

> 

> Which version of eXosip2 are you using?  We had to create a special

> patched version of 2.2.3 (which later became a feature in 3.0.0,

though

> I have not migrated to it yet) because the stack would send a

101/dialog

> entry during call setup, and this seemed to crash at least some

> softphone clients (cisco and snom in particular).  Besides snom, I

have

> mostly tested client connections  (inbound and out) with linphone

(which

> had the slow rtp session start and uses older exosip code) and with

> Twinkle, which also has it's own SIP implementation.  I have not

tested

> with x-ten yet, however.

> 

> On the service provider/service source side, I have done most of my

> testing with another Bayonne server, with Broadvoice, and against an

> Asterisk server.  Broadvoice in particular helped a lot to get the

> authentication digest/realm code and the adpcm (g721/g726-32) encoding

> working correctly.

> 

> Julien Chavanton wrote:

>> Better but still not working since the script exute only to log

> command and

>> does nothing more?

>> 

>> 

>> bool Session::enterPickup(Event *event)

>> {

>>        if(event->id == ENTER_STATE)

>>        {

>>                offhook = true;

>>                startRTP();

>>                startTimer(driver->getPickupTimer());

>>                return true;

>>        }

>>        else if(event->id == CALL_ACCEPTED)

>>        {

>>                setRunning();

>>                // startTimer(Driver::sip.accept_timer);

>>                return true;

>>        }

>> 

>>        return false;

>> }

>> 

>> 

>> 

>> 

> 

------------------------------------------------------------------------

> -----------

>> 

>> register.sip proxy=192.168.0.156 uri=sip:address@hidden

> userid=202

>> secret=202 timeout=3600

>> 

>> slog "BREAK1 dtmf_say"

>> slog "BREAK2 dtmf_say"

>> slog "BREAK3 dtmf_say"

>> slog "BREAK4 dtmf_say"

>> slog "BREAK5 dtmf_say"

>> slog "BREAK6 dtmf_say"

>> 

>> clear %session.digits

>>        play 1

>>        play 2

>>        play 3

>>        play o k

>>        goto ::mytest

>> 

>> program mytest

>>        slog "DTMF"

>>        sleep 15

>>        goto ::mytest

>> 

>> ^dtmf

>>        string.1 %keyp

>>        collect %keyp count=1

>>        slog "DTMF %keyp detected"

>>        play &number %keyp

>>        play o k

>>        goto ::mytest

>> 

>> 

> 

------------------------------------------------------------------------

> -----------

>> 

>> registration for 202 updated for 180 seconds

>> sip: event 0001; cid=0, did=0, rid=2, instance=4

>> registration for dtmf_say confirmed for 3600 seconds

>> sip: event 0001; cid=0, did=0, rid=1, instance=3

>> registration for 202 updated for 3600 seconds

>> sip: event 0001; cid=0, did=0, rid=1, instance=3

>> registration for 202 updated for 200 seconds

>> sip: event 0001; cid=0, did=0, rid=1, instance=3

>> registration for 202 confirmed for 200 seconds

>> sip: event 0005; cid=1, did=2, rid=0, instance=2

>> sip/0: state=idle, event=201, seq=1

>> sip/0: state=pickup, event=100, seq=1

>> sip/0: going active; associated with 202

>> sip: event 000f; cid=1, did=2, rid=0, instance=1

>> sip/0: state=pickup, event=503, seq=2

>> sip/0: state=run, event=100, seq=2

>> sip/0: BREAK1 dtmf_say

>> sip/0: BREAK2 dtmf_say

>> sip: event 0012; cid=1, did=2, rid=0, instance=5

>> sip: event 0012; cid=1, did=2, rid=0, instance=1

>> sip: event 0012; cid=1, did=2, rid=0, instance=5

>> sip: event 0019; cid=1, did=2, rid=0, instance=2

>> sip/0: closing call

>> sip/0: state=run, event=209, seq=5

>> 

>> 

>> 

>> On 8/11/06, David Sugar <address@hidden> wrote:

>>> You received a SIP call accept, which has pickup wait for the sip

> driver

>>> "accept" timer to expire.  While waiting for the accept timer to

> expire,

>>> it received the additional sip events and then a close.

>>> 

>>> Perhaps we should have an option to disable accept timer and go

right

> to

>>> the run state (by calling setRunning() instead).  This is currently

>>> controlled in modules/sip/session.cpp 1176;

>>> 

>>>        else if(event->id == CALL_ACCEPTED)

>>>        {

>>>                startTimer(Driver::sip.accept_timer);

>>>                return true;

>>>        }

>>> 

>>> in Session::enterPickup.

>>> 

>>> Julien Chavanton wrote:

>>>> I am testing Bayonne2, the script I am calling address@hidden

> does

>>> not

>>>> start ?

>>>> 

>>>> 

>>>> address@hidden bayonne2-1.5.25]# vi

>>>> /usr/local/share/bayonne/scripts/dtmf_say.scr

>>>> 

>>>> 

> 

------------------------------------------------------------------------

> ---------------------------------------

>>>> 

>>>> register.sip proxy=192.168.0.156

>>> uri=sip:address@hidden

>>>> secret=202 timeout=3600

>>>> 

>>>> slog "BREAK1"

>>>> slog "BREAK2"

>>>> slog "BREAK3"

>>>> 

> 

------------------------------------------------------------------------

> ---------------------------------------

>>>> 

>>>> 

>>>> 

>>>> registration for dtmf confirmed for 180 seconds

>>>> sip: event 0001; cid=0, did=0, rid=2, instance=4

>>>> registration for dtmf_say confirmed for 3600 seconds

>>>> sip: event 0005; cid=1, did=2, rid=0, instance=3

>>>> sip/0: state=idle, event=201, seq=1

>>>> sip/0: state=pickup, event=100, seq=1

>>>> sip/0: going active; associated with 202

>>>> sip: event 000f; cid=1, did=2, rid=0, instance=3

>>>> sip/0: state=pickup, event=503, seq=2

>>>> sip: event 0012; cid=1, did=2, rid=0, instance=3 (dmtf)

>>>> sip: event 0012; cid=1, did=2, rid=0, instance=4 (dmtf)

>>>> sip: event 0012; cid=1, did=2, rid=0, instance=2 (dmtf)

>>>> sip: event 0012; cid=1, did=2, rid=0, instance=5 (dmtf)

>>>> sip: event 0012; cid=1, did=2, rid=0, instance=5 (dmtf)

>>>> sip: event 0012; cid=1, did=2, rid=0, instance=4 (dmtf)

>>>> sip/0: closing call

>>>> sip/0: state=pickup, event=209, seq=11

>>>> sip/0: state=run, event=100, seq=11

>>>> sip/0: state=hangup, event=100, seq=11

>>>> _______________________________________________

>>>> Bayonne-devel mailing list

>>>> address@hidden

>>>> http://lists.gnu.org/mailman/listinfo/bayonne-devel

>>> 

>>> 

>> _______________________________________________

>> Bayonne-devel mailing list

>> address@hidden

>> http://lists.gnu.org/mailman/listinfo/bayonne-devel

> 

> 

> _______________________________________________

> Bayonne-devel mailing list

> address@hidden

> http://lists.gnu.org/mailman/listinfo/bayonne-devel

 

 

_______________________________________________

Bayonne-devel mailing list

address@hidden

http://lists.gnu.org/mailman/listinfo/bayonne-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]