< Previous by Date | Date Index | Next by Date > |
< Previous in Thread | Thread Index |
Hi Scott,
I tried to send and receive messages using single stack. I’m able to receive messages from stack. But when I’m trying to initiate new INVITE request, I’m getting below error and my application is crashing,
ERR | 20170719-141343.157 | | RESIP | 140643582072576 | DataParameter.cxx:91 | Accessing defaulted DataParameter: 'tag'
B2BServer: DataParameter.cxx:93: virtual std::ostream& resip::DataParameter::encode(
std::ostream&) const: Assertion `!mValue.empty()' failed. ORA-24550: signal received: [si_signo=6] [si_errno=0] [si_code=-6] [si_int=0] [si_ptr=(nil)] [si_addr=0x1f400003d46]
I have separate function (fnG_
encodeSipPBMsgToSIPStackMessag e) to encode sip message, here is the SIP message from my application logs which is generated using makeRequest,
INVITE sip:1.1.5695103.en-fe@10.10.
30.111:5060 SIP/2.0Via: SIP/2.0/UDP 192.168.2.106:2271;branch=
z9hG4bK5615554850bd4935; received=192.168.2.106;rport=0 Max-Forwards: 70
Route: <sip:10.10.30.113:30029>
Contact: <sip:SonetelPBX@49.57.50.46:
30029 >To: <sip:1.1.5695103.en-fe@10.10.
30.111:5060 >From: "sai_live_fname_2"<sip:sai_
live_fname_2@xxxxxxxxxx:5060 >;tag=8b7d7e2c Call-ID: NXp-UyYakfdU4k1ufJyZtA..
CSeq: 1 INVITE
P-Charging-Vector: icid-value=1522390983
Content-Length: 0
For new INVITE request, we should not send tag as per RFC. If we are voiding that and send tag for NameAddr type headers with some dummy value, then the request is reaching to proxy. Here is the SIP message for that,
INVITE sip:1.1.5695103.en-fe@10.10.
30.111:5060 SIP/2.0.Via: SIP/2.0/UDP 192.168.2.152:30029;branch=
z9hG4bKc041.32500907.0. Via: SIP/2.0/UDP 192.168.2.106:2271;branch=
z9hG4bK-524287-1--- e93b397d27f01217;rport=2271; received=10.10.30.111. Max-Forwards: 30.
Route: <sip:10.10.30.113:30029>.
Contact: <sip:SonetelPBX@49.57.50.46:
30029 >;tag=tag.To: <sip:1.1.5695103.en-fe@10.10.
30.111:5060 >;tag=tag.From: "sai_live_fname_2"<sip:sai_
live_fname_2@xxxxxxxxxx:5060 >;tag=1b45d73e. Call-ID: eY-W-3RpyV_JOvtcXaOnTw...
CSeq: 1 INVITE.
P-Charging-Vector: icid-value=769118466.
Content-Length: 0
I’m attaching source code and output in separate files. Please suggest me if I’m doing anything wrong.
Thanks & Regards,
LavanyaKumar S
From: slgodin@xxxxxxxxx [mailto:slgodin@xxxxxxxxx] On Behalf Of Scott Godin
Sent: Wednesday, July 12, 2017 09:33 PM
To: LavanyaKumar <lavanyakumar.s@xxxxxxxxxxx>
Cc: resiprocate-users@resiprocate.org ; resiprocate-devel@resiprocate.org
Subject: Re: [reSIProcate-users] Help - Facing problem to send sip message towards proxy
On Wed, Jul 12, 2017 at 9:30 AM, LavanyaKumar <lavanyakumar.s@xxxxxxxxxxx> wrote:
Hi Scott,
Hope you are doing good.
Thanks for your previous suggestion. I’m facing another issue while enhancing my application.
I have tried to integrate StackThread class in my application by referring stack/test/testStack hxx and cxx files with some minor configuration changes in transport ports. I have taken two SipStack pointers each for receiving, sending and assigned 2271 as receiving port and 2272 as sending port.
[Scott] You really only need one SipStack for any SIP based application. It can both send and receive messages. The testStack program creates multiple stacks for testing only.
When i make a call, I'm receiving the message to application and able to process successfully. But when i'm trying to send new request from application, i'm getting this below error
ERR | 20170712-134943.117 | | RESIP | 140053664692192 | DataParameter.cxx:91 | Accessing defaulted DataParameter: 'tag'
B2BServer: DataParameter.cxx:93: virtual std::ostream& resip::DataParameter::encode(
std::ostream&) const: Assertion `!mValue.empty()' failed.
When i debugged this i got to know this error is for headerEnum 11, which is of Contact header. Though it is of NameAddr type, tag is not mandatory parameter for Contact right?
I'm providing complete output in the attached file ‘Stack_Error2.txt’ . Can you suggest some clue to resolve my issue if i'm doing anything wrong.
[Scott] It is too hard to troubleshoot this without seeing your code.
Can we use same SipStack pointer with only one transport to send and receive sip messages which are out of transaction?
[Scott] You only need 1 SipStack and at least one transport. You cannot pass the same transport to 2 SipStacks.
Also I have few queries in StackThread class. As per your previous comment, process() should be in loop, i couldn't find explicit while or for loop in the file.
Does these statements runs in loop?
receiver->process(fdset);
sender->process(fdset);
Could you explain how its working?
[Scott] Sorry I forgot testStack got reasonably complicated recently. testSipStackInvite might be an easier example to read.
Some information here:
and
and
Thanks & Regards,
LavanyaKumar S
From: slgodin@xxxxxxxxx [mailto:slgodin@xxxxxxxxx] On Behalf Of Scott Godin
Sent: Thursday, June 29, 2017 08:27 PM
To: LavanyaKumar <lavanyakumar.s@xxxxxxxxxxx>
Cc: resiprocate-users@resiprocate.org ; resiprocate-devel@resiprocate.org
Subject: Re: [reSIProcate-users] Help - Facing problem to send sip message towards proxy
You need to process in a loop. Check out stack/test/testStack and other programs in the test directory. You can use StackThread class to help.
There is also info on the wiki for this: http://www.resiprocate.org/
DUM_Threading
Just ignore the DUM parts of the wiki page.
Good luck,
Scott
On Wed, Jun 28, 2017 at 3:57 AM, LavanyaKumar <lavanyakumar.s@xxxxxxxxxxx> wrote:
Hi,
I'm new to resiprocate. I'm trying to send an INVITE request from my linux machine. I'm able to generate a SIP message. But unable to forward to my proxy with the details filled in Route header. My requirement is to use resip but not dum as our application will handle session.
Here i'm attaching my code and output. Not sure whether i missed something.
Could someone please help probably with some sample references or examples.
We are using resiprocate-1.9.10.
Thanks & Regards,
LavanyaKumar S
_______________________________________________
resiprocate-users mailing list
resiprocate-users@resiprocate.org
List Archive: http://list.resiprocate.org/archive/resiprocate-users/