[sip-comm-dev] Need some help


#1

Hi all,

Trying to make call function work, I found this error in the log messages
(in the callee side):

FIN: impl.protocol.sip.ProtocolProviderServiceSipImpl.processRequest() Found
one processor for method INVITE, processor
is=OperationSetBasicTelephonySipImpl-[dn=1561 addr="1561" <
sip:1561@192.168.27.33>]

GRAVE: impl.protocol.sip.OperationSetBasicTelephonySipImpl.processRequest()
Failed to create a new servertransaction for an incoming request (Next
message contains the request) :
javax.sip.TransactionUnavailableException: Missing a required header :
Max-Forwards

So I looked in the source code and I found that it's an error generated from
the processRequest method in the OperationSetBasicTelephonySipImpl.java

Now it's clear that the problem came from the servertransaction wich doesn't
correctly occure,
" ServerTransaction serverTransaction = requestEvent.getServerTransaction();"
returns null.

The problem is that I wasn't able to go far with this debugging as it seems
to me that this function is included in the jain-sip stack...?? Someone can
tell me how should I resolve this problem? Have I to look upon the jain-sip
stack??

Thanks to all.


#2

Hello asmouta,

From the way you describe your problem I'd say that there is a problem with the incoming request.

Missing a required header : Max-Forwards

Make sure the request is properly sent to SIP Communicator, that is make sure it contains a Max-Forwards header.

Cheers
Emil

asmouta wrote:

···

Hi all,

Trying to make call function work, I found this error in the log messages (in the callee side):

FIN: impl.protocol.sip.ProtocolProviderServiceSipImpl.processRequest() Found one processor for method INVITE, processor is=OperationSetBasicTelephonySipImpl-[dn=1561 addr="1561" <sip:1561@192.168.27.33 <mailto:sip:1561@192.168.27.33>>]

GRAVE: impl.protocol.sip.OperationSetBasicTelephonySipImpl.processRequest() Failed to create a new servertransaction for an incoming request (Next message contains the request) :
javax.sip.TransactionUnavailableException: Missing a required header : Max-Forwards

So I looked in the source code and I found that it's an error generated from the processRequest method in the OperationSetBasicTelephonySipImpl.java

Now it's clear that the problem came from the servertransaction wich doesn't correctly occure,
" ServerTransaction serverTransaction = requestEvent.getServerTransaction();" returns null.

The problem is that I wasn't able to go far with this debugging as it seems to me that this function is included in the jain-sip stack...?? Someone can tell me how should I resolve this problem? Have I to look upon the jain-sip stack??

Thanks to all.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Hi Emil,

I made different scenario and each time I analysed the trafic between the
two clients and the asterisk, here are my conclusions :
- the sip-communicator client (in the caller side) successfully generate an
invite request (all headers are there, even the max-forwards headers).
- the sip-communicator client (in the callee side) cannot see the
max-forward header and I dont know why...
- I've also noticed this thanks to ethereal : lets say that we have two
sip-communicator client s ; A (caller), B (callee) and (C) the asterisk
sip-proxy and let focus on this scenario (I'm only interested in the
max-forward header) :

A ----(MaxF-header)----> C ----(No Max-F header)------>B

So I thought that was the problem, I mean that it came from the asterisk
configuration! But when I repeated the same scenario with a sip-communicator
A (caller) and an sjphone B (callee), I was disappointed since it was the
same thing but this time, the callee was able to receive the call and the
communication took place.

All that to say that maybe my first thought was right and the problem is
located on the procedure of call reception and that the sip-communicator is
not able to extract the MaxF header from the invite it receives...??

Thanks for reading and it'll be helpful if you give me back your point of
view.

···

On 5/10/07, Emil Ivov <emcho@emcho.com> wrote:

Hello asmouta,

From the way you describe your problem I'd say that there is a problem
with the incoming request.

> Missing a required header : Max-Forwards

Make sure the request is properly sent to SIP Communicator, that is make
sure it contains a Max-Forwards header.

Cheers
Emil

asmouta wrote:
> Hi all,
>
> Trying to make call function work, I found this error in the log
> messages (in the callee side):
>
> FIN: impl.protocol.sip.ProtocolProviderServiceSipImpl.processRequest()
> Found one processor for method INVITE, processor
> is=OperationSetBasicTelephonySipImpl-[dn=1561 addr="1561"
> <sip:1561@192.168.27.33 <mailto:sip:1561@192.168.27.33>>]
>
> GRAVE:
> impl.protocol.sip.OperationSetBasicTelephonySipImpl.processRequest()
> Failed to create a new servertransaction for an incoming request (Next
> message contains the request) :
> javax.sip.TransactionUnavailableException: Missing a required header :
> Max-Forwards
>
> So I looked in the source code and I found that it's an error generated
> from the processRequest method in the
OperationSetBasicTelephonySipImpl.java
>
> Now it's clear that the problem came from the servertransaction wich
> doesn't correctly occure,
> " ServerTransaction serverTransaction =
> requestEvent.getServerTransaction();" returns null.
>
> The problem is that I wasn't able to go far with this debugging as it
> seems to me that this function is included in the jain-sip stack...??
> Someone can tell me how should I resolve this problem? Have I to look
> upon the jain-sip stack??
>
> Thanks to all.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hello asmouta,

asmouta wrote:

- I've also noticed this thanks to ethereal : lets say that we have two sip-communicator client s ; A (caller), B (callee) and (C) the asterisk sip-proxy and let focus on this scenario (I'm only interested in the max-forward header) :

A ----(MaxF-header)----> C ----(No Max-F header)------>B

OK this explains the exception, as the jain-sip stack would consider the request invalid if it doesn't contain the Max-Forwards header and would not create a server transaction for it. It's quite strange that asterisk would remove it though. We also have an asterisk installation here and we don't have the situation you describe.

So I thought that was the problem, I mean that it came from the asterisk configuration! But when I repeated the same scenario with a sip-communicator A (caller) and an sjphone B (callee), I was disappointed since it was the same thing but this time, the callee was able to receive the call and the communication took place.

Well, apparently sjphone accepts requests that are missing a Max-Forwards header. I suspect there is a reason why jain-sip would refuse them. Maybe Ranga could shed some light on the matter?

In the meantime you could check whether the lack of a Max-Forwards header affects the rest of the application by temporarily commenting the following check in gov.nist.javax.sip.message.SIPRequest

  if (getMaxForwards() == null) {
  throw new ParseException(prefix + MaxForwardsHeader.NAME, 0);
  }

(line 234 in my sandbox)

Cheers
Emil

···

All that to say that maybe my first thought was right and the problem is located on the procedure of call reception and that the sip-communicator is not able to extract the MaxF header from the invite it receives...??

Thanks for reading and it'll be helpful if you give me back your point of view.

On 5/10/07, *Emil Ivov* <emcho@emcho.com <mailto:emcho@emcho.com>> wrote:

    Hello asmouta,

     From the way you describe your problem I'd say that there is a problem
    with the incoming request.

     > Missing a required header : Max-Forwards

    Make sure the request is properly sent to SIP Communicator, that is
    make
    sure it contains a Max-Forwards header.

    Cheers
    Emil

    asmouta wrote:
     > Hi all,
     >
     > Trying to make call function work, I found this error in the log
     > messages (in the callee side):
     >
     > FIN:
    impl.protocol.sip.ProtocolProviderServiceSipImpl.processRequest()
     > Found one processor for method INVITE, processor
     > is=OperationSetBasicTelephonySipImpl-[dn=1561 addr="1561"
     > <sip:1561@192.168.27.33 <mailto:sip:1561@192.168.27.33>
    <mailto:sip <mailto:sip>:1561@192.168.27.33
    <mailto:1561@192.168.27.33>>>]
     >
     > GRAVE:
     > impl.protocol.sip.OperationSetBasicTelephonySipImpl.processRequest ()
     > Failed to create a new servertransaction for an incoming request
    (Next
     > message contains the request) :
     > javax.sip.TransactionUnavailableException: Missing a required
    header :
     > Max-Forwards
     >
     > So I looked in the source code and I found that it's an error
    generated
     > from the processRequest method in the
    OperationSetBasicTelephonySipImpl.java
     >
     > Now it's clear that the problem came from the servertransaction wich
     > doesn't correctly occure,
     > " ServerTransaction serverTransaction =
     > requestEvent.getServerTransaction();" returns null.
     >
     > The problem is that I wasn't able to go far with this debugging
    as it
     > seems to me that this function is included in the jain-sip stack...??
     > Someone can tell me how should I resolve this problem? Have I to look
     > upon the jain-sip stack??
     >
     > Thanks to all.

    ---------------------------------------------------------------------
    To unsubscribe, e-mail:
    dev-unsubscribe@sip-communicator.dev.java.net
    <mailto:dev-unsubscribe@sip-communicator.dev.java.net>
    For additional commands, e-mail:
    dev-help@sip-communicator.dev.java.net
    <mailto:dev-help@sip-communicator.dev.java.net>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#5

Thanks a lot Emil,

have a little question, where can I find the JainSipRi1.2.jar source?
Because it doesn't come with the sip-communicator... I found on the internet
the source of the SIPRequest.java but the eclipse need the whole jar file
JainSipRi1.2.jar to let me change the SIPRequest.java. All I've found in the
sip-communicator source is the JainSipRi1.2.jar with classes.

Best regards.

···

On 5/11/07, Emil Ivov <emcho@emcho.com> wrote:

Hello asmouta,

asmouta wrote:
> - I've also noticed this thanks to ethereal : lets say that we have two
> sip-communicator client s ; A (caller), B (callee) and (C) the asterisk
> sip-proxy and let focus on this scenario (I'm only interested in the
> max-forward header) :
>
> A ----(MaxF-header)----> C ----(No Max-F header)------>B

OK this explains the exception, as the jain-sip stack would consider the
request invalid if it doesn't contain the Max-Forwards header and would
not create a server transaction for it. It's quite strange that asterisk
would remove it though. We also have an asterisk installation here and
we don't have the situation you describe.

> So I thought that was the problem, I mean that it came from the asterisk
> configuration! But when I repeated the same scenario with a
> sip-communicator A (caller) and an sjphone B (callee), I was
> disappointed since it was the same thing but this time, the callee was
> able to receive the call and the communication took place.

Well, apparently sjphone accepts requests that are missing a
Max-Forwards header. I suspect there is a reason why jain-sip would
refuse them. Maybe Ranga could shed some light on the matter?

In the meantime you could check whether the lack of a Max-Forwards
header affects the rest of the application by temporarily commenting the
following check in gov.nist.javax.sip.message.SIPRequest

  if (getMaxForwards() == null) {
        throw new ParseException(prefix + MaxForwardsHeader.NAME, 0);
  }

(line 234 in my sandbox)

Cheers
Emil

>
> All that to say that maybe my first thought was right and the problem is
> located on the procedure of call reception and that the sip-communicator
> is not able to extract the MaxF header from the invite it receives...??
>
> Thanks for reading and it'll be helpful if you give me back your point
> of view.
>
> On 5/10/07, *Emil Ivov* <emcho@emcho.com <mailto:emcho@emcho.com>> > wrote:
>
> Hello asmouta,
>
> From the way you describe your problem I'd say that there is a
problem
> with the incoming request.
>
> > Missing a required header : Max-Forwards
>
> Make sure the request is properly sent to SIP Communicator, that is
> make
> sure it contains a Max-Forwards header.
>
> Cheers
> Emil
>
> asmouta wrote:
> > Hi all,
> >
> > Trying to make call function work, I found this error in the log
> > messages (in the callee side):
> >
> > FIN:
> impl.protocol.sip.ProtocolProviderServiceSipImpl.processRequest()
> > Found one processor for method INVITE, processor
> > is=OperationSetBasicTelephonySipImpl-[dn=1561 addr="1561"
> > <sip:1561@192.168.27.33 <mailto:sip:1561@192.168.27.33>
> <mailto:sip <mailto:sip>:1561@192.168.27.33
> <mailto:1561@192.168.27.33>>>]
> >
> > GRAVE:
> >
impl.protocol.sip.OperationSetBasicTelephonySipImpl.processRequest ()
> > Failed to create a new servertransaction for an incoming request
> (Next
> > message contains the request) :
> > javax.sip.TransactionUnavailableException: Missing a required
> header :
> > Max-Forwards
> >
> > So I looked in the source code and I found that it's an error
> generated
> > from the processRequest method in the
> OperationSetBasicTelephonySipImpl.java
> >
> > Now it's clear that the problem came from the servertransaction
wich
> > doesn't correctly occure,
> > " ServerTransaction serverTransaction =
> > requestEvent.getServerTransaction();" returns null.
> >
> > The problem is that I wasn't able to go far with this debugging
> as it
> > seems to me that this function is included in the jain-sip
stack...??
> > Someone can tell me how should I resolve this problem? Have I to
look
> > upon the jain-sip stack??
> >
> > Thanks to all.
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> dev-unsubscribe@sip-communicator.dev.java.net
> <mailto:dev-unsubscribe@sip-communicator.dev.java.net>
> For additional commands, e-mail:
> dev-help@sip-communicator.dev.java.net
> <mailto:dev-help@sip-communicator.dev.java.net>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#6

Here u go,

http://jain-sip.dev.java.net

Cheers
Emil

asmouta wrote:

···

Thanks a lot Emil,

have a little question, where can I find the JainSipRi1.2.jar source? Because it doesn't come with the sip-communicator... I found on the internet the source of the SIPRequest.java but the eclipse need the whole jar file JainSipRi1.2.jar to let me change the SIPRequest.java. All I've found in the sip-communicator source is the JainSipRi1.2.jar with classes.

Best regards.

On 5/11/07, *Emil Ivov* <emcho@emcho.com <mailto:emcho@emcho.com>> wrote:

    Hello asmouta,

    asmouta wrote:
     > - I've also noticed this thanks to ethereal : lets say that we
    have two
     > sip-communicator client s ; A (caller), B (callee) and (C) the
    asterisk
     > sip-proxy and let focus on this scenario (I'm only interested in the
     > max-forward header) :
     >
     > A ----(MaxF-header)----> C ----(No Max-F header)------>B

    OK this explains the exception, as the jain-sip stack would consider the
    request invalid if it doesn't contain the Max-Forwards header and would
    not create a server transaction for it. It's quite strange that asterisk
    would remove it though. We also have an asterisk installation here and
    we don't have the situation you describe.

     > So I thought that was the problem, I mean that it came from the
    asterisk
     > configuration! But when I repeated the same scenario with a
     > sip-communicator A (caller) and an sjphone B (callee), I was
     > disappointed since it was the same thing but this time, the
    callee was
     > able to receive the call and the communication took place.

    Well, apparently sjphone accepts requests that are missing a
    Max-Forwards header. I suspect there is a reason why jain-sip would
    refuse them. Maybe Ranga could shed some light on the matter?

    In the meantime you could check whether the lack of a Max-Forwards
    header affects the rest of the application by temporarily commenting the
    following check in gov.nist.javax.sip.message.SIPRequest

      if (getMaxForwards() == null) {
            throw new ParseException(prefix + MaxForwardsHeader.NAME, 0);
      }

    (line 234 in my sandbox)

    Cheers
    Emil

     >
     > All that to say that maybe my first thought was right and the
    problem is
     > located on the procedure of call reception and that the
    sip-communicator
     > is not able to extract the MaxF header from the invite it
    receives...??
     >
     > Thanks for reading and it'll be helpful if you give me back your
    point
     > of view.
     >
     > On 5/10/07, *Emil Ivov* < emcho@emcho.com > <mailto:emcho@emcho.com> <mailto:emcho@emcho.com > <mailto:emcho@emcho.com>>> wrote:
     >
     > Hello asmouta,
     >
     > From the way you describe your problem I'd say that there is
    a problem
     > with the incoming request.
     >
     > > Missing a required header : Max-Forwards
     >
     > Make sure the request is properly sent to SIP Communicator,
    that is
     > make
     > sure it contains a Max-Forwards header.
     >
     > Cheers
     > Emil
     >
     > asmouta wrote:
     > > Hi all,
     > >
     > > Trying to make call function work, I found this error in
    the log
     > > messages (in the callee side):
     > >
     > > FIN:
     > impl.protocol.sip.ProtocolProviderServiceSipImpl.processRequest()
     > > Found one processor for method INVITE, processor
     > > is=OperationSetBasicTelephonySipImpl-[dn=1561 addr="1561"
     > > <sip:1561@192.168.27.33 <mailto:sip:1561@192.168.27.33>
    <mailto:sip <mailto:sip>:1561@192.168.27.33 <mailto:1561@192.168.27.33>>
     > <mailto: sip <mailto:sip> <mailto:sip
    <mailto:sip>>:1561@192.168.27.33 <mailto:1561@192.168.27.33>
     > <mailto:1561@192.168.27.33 <mailto:1561@192.168.27.33>>>>]
     > >
     > > GRAVE:
     > >
    impl.protocol.sip.OperationSetBasicTelephonySipImpl.processRequest ()
     > > Failed to create a new servertransaction for an incoming
    request
     > (Next
     > > message contains the request) :
     > > javax.sip.TransactionUnavailableException: Missing a required
     > header :
     > > Max-Forwards
     > >
     > > So I looked in the source code and I found that it's an error
     > generated
     > > from the processRequest method in the
     > OperationSetBasicTelephonySipImpl.java
     > >
     > > Now it's clear that the problem came from the
    servertransaction wich
     > > doesn't correctly occure,
     > > " ServerTransaction serverTransaction =
     > > requestEvent.getServerTransaction();" returns null.
     > >
     > > The problem is that I wasn't able to go far with this
    debugging
     > as it
     > > seems to me that this function is included in the jain-sip
    stack...??
     > > Someone can tell me how should I resolve this problem?
    Have I to look
     > > upon the jain-sip stack??
     > >
     > > Thanks to all.
     >
     > ---------------------------------------------------------------------
     > To unsubscribe, e-mail:
     > dev-unsubscribe@sip-communicator.dev.java.net
    <mailto:dev-unsubscribe@sip-communicator.dev.java.net>
     > <mailto:dev-unsubscribe@sip-communicator.dev.java.net
    <mailto:dev-unsubscribe@sip-communicator.dev.java.net>>
     > For additional commands, e-mail:
     > dev-help@sip-communicator.dev.java.net
    <mailto:dev-help@sip-communicator.dev.java.net>
     > <mailto:dev-help@sip-communicator.dev.java.net
    <mailto:dev-help@sip-communicator.dev.java.net>>
     >

    ---------------------------------------------------------------------
    To unsubscribe, e-mail:
    dev-unsubscribe@sip-communicator.dev.java.net
    <mailto:dev-unsubscribe@sip-communicator.dev.java.net>
    For additional commands, e-mail:
    dev-help@sip-communicator.dev.java.net
    <mailto:dev-help@sip-communicator.dev.java.net>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#7

Ok, thanks, I'll do and give you feed back.

···

On 5/11/07, Emil Ivov <emcho@emcho.com> wrote:

Here u go,

http://jain-sip.dev.java.net

Cheers
Emil

asmouta wrote:
> Thanks a lot Emil,
>
> have a little question, where can I find the JainSipRi1.2.jar source?
> Because it doesn't come with the sip-communicator... I found on the
> internet the source of the SIPRequest.java but the eclipse need the
> whole jar file JainSipRi1.2.jar to let me change the SIPRequest.java.
> All I've found in the sip-communicator source is the JainSipRi1.2.jar
> with classes.
>
> Best regards.
>