Yes here is the code:
l_ret = eXosip_call_send_answer(m_ctx, p_tid,
p_sip_event, p_answer);
I have tid 1: Error Send OK result -3 tid 1
I guess this is wrong ?
On 3.08.2018 15:37, Aymeric Moizard
wrote:
Hey.
I checked out the latest exosip (last commit
6da834d2980d97e4ad7a59f6734884f6962b8267 from Mon Jul
2 11:37:23 2018 +0200) and osip2 (last commit
7a3f2cbabed8147017ac04846a117ae1e8f59386 from Wed Jun
20 17:35:37 2018 +0200) repos, I recompiled and
reINVITE sends Trying automatically again.
Sorry about the debug. Here it is:
03/08/18-15:07:41:447656 |Received SIP message: 2,
'New call received!', cid=1
03/08/18-15:07:41:447686 |type 2 cid 1 did 2 tid 1 sid
0
03/08/18-15:07:41:469728 |Received SIP message: 5,
'Call is being processed!', cid=3
03/08/18-15:07:41:469755 |type 5 cid 3 did 0 tid 2 sid
0
03/08/18-15:07:41:538803 |Received SIP message: 6,
'Remote phone is ringing!', cid=3
03/08/18-15:07:41:538827 |type 6 cid 3 did 4 tid 2 sid
0
03/08/18-15:07:42:707314 |Received SIP message: 7,
'Remote phone has answered!', cid=3
03/08/18-15:07:42:707338 |type 7 cid 3 did 4 tid 2 sid
0
03/08/18-15:07:42:707892 |Received SIP message: 12,
'ACK received!', cid=1
03/08/18-15:07:42:707899 |type 12 cid 1 did 2 tid 1
sid 0
03/08/18-15:07:42:708515 |Received SIP message: 3,
'INVITE within call received!', cid=1
03/08/18-15:07:42:708522 |type 3 cid 1 did 2 tid 3 sid
0
03/08/18-15:07:42:708625 |eXosip invite returned cid =
0
03/08/18-15:07:42:711846 |Received SIP message: 5,
'Call is being processed!', cid=3
03/08/18-15:07:42:711855 |type 5 cid 3 did 4 tid 4 sid
0
03/08/18-15:07:42:711923 |Received SIP message: 7,
'Remote phone has answered!', cid=3
03/08/18-15:07:42:711927 |type 7 cid 3 did 4 tid 4 sid
0
03/08/18-15:07:42:712015 |Error Send OK -6
Please indicate the tid you use to send the
answer! If I'm correct, it should be tid=3 and if I'm correct,
the tid only is required for the API to send answer? Right?
Aymeric
On
3.08.2018 13:35, Aymeric Moizard wrote:
Hi!
Using the latest git is advised!
More inline:
Aymeric,
I'm using 4.1.0 for both exosip and osip.
At least this is what the latest
documentation points to : http://www.antisip.com/doc/exosip2/
Anyway I updated to 5.0.0 and tested again
without sending Trying manually.
Here is the log from eXosip node:
Initial INVITE
03/08/18-11:01:12:920830 |Received SIP
message: 2, 'New call received!', cid=1
03/08/18-11:01:12:921048 |SIP message 2
received for cid=1, did=0, tid=0
I'm surprised to see did=0 and
tid=0. Those value should be already set in the
exosip_event (as shown right below)
03/08/18-11:01:12:921067
|sip_call_ivite_rcv for cid=1, did=2,
tid=1
Send INVITE to call leg 2
03/08/18-11:01:13:016953 |eXosip invite
returned cid = 3
03/08/18-11:01:13:024636 |Received SIP
message: 5, 'Call is being processed!',
cid=3
03/08/18-11:01:13:024921 |SIP message 5
received for cid=3, did=0, tid=0
Again, did=0 and tid=0 and the value
should be set in exosip_event.
Send trying to call leg 1
03/08/18-11:01:13:108228 |Received SIP
message: 6, 'Remote phone is ringing!',
cid=3
03/08/18-11:01:13:108366 |SIP message 6
received for cid=3, did=0, tid=0
Same comment as above.
Send ringing to call leg 1
03/08/18-11:01:13:108411 |Send ringing
response result 0
03/08/18-11:01:14:099017 |Received SIP
message: 7, 'Remote phone has answered!',
cid=3
03/08/18-11:01:14:099187 |SIP message 7
received for cid=3, did=0, tid=0
Same comment as above.
Send OK to call leg 1
03/08/18-11:01:14:099219 |Send OK response
result 0
03/08/18-11:01:14:100065 |Received SIP
message: 12, 'ACK received!', cid=1
reINVTIE from call leg 1
03/08/18-11:01:14:101841 |Received SIP
message: 3, 'INVITE within call
received!', cid=1
03/08/18-11:01:14:101956 |SIP message 3
received for cid=1, did=0, tid=0
Same again.
Send reINVTIE to call leg 2
03/08/18-11:01:14:102023 |eXosip invite
returned cid = 0
Cid=0 can't be true for a new
transaction?
Got Trying and OK from call leg 2
03/08/18-11:01:14:103046 |Received SIP
message: 5, 'Call is being processed!',
cid=3
03/08/18-11:01:14:103127 |SIP message 5
received for cid=3, did=0, tid=0
...
03/08/18-11:01:14:103397 |Received SIP
message: 7, 'Remote phone has answered!',
cid=3
03/08/18-11:01:14:103580 |SIP message 7
received for cid=3, did=0, tid=0
... tid
Send OK to call leg 1
03/08/18-11:01:14:103651 |Error Send OK -6
Only tid=0 exist in your log, but
you should be able to display 4 tid (4
transactions)
Your logs could be improved to
display the tid. If they are not set, there must
be a bigger issue.
It is possible that you reuse too
much the tags, call-id, via branch: and breaks the
sip protocol. This may introduce unexpected
matching for some messages that are considered
part of wrong transactions.
I can't read the Wireshark capture:
I'm on mobile.... ;)
Regards
Aymeric
Attached is wireshark trace from the
communication. Have a look at packet 381:
eXosip is sending Trying again.
These are the nodes:
10.82.10.56:5065
- alice
10.82.10.56:5062
- asterisk 1
10.82.10.132:5060
- eXosip
10.82.12.55:5060
- asterisk 2
10.82.10.56:5064
- bob
Tnx
On
2.08.2018 18:32, Aymeric Moizard wrote:
Hi again!
100 is reserved to proxy. But
exosip is a User-Agent, so you can
send
answers from 101 to 699. This
explains why you have OSIP_BADPARAMETER
when
trying to send "100 Trying".
Old
version of eXosip2 was sending 101
automatically, but newer version
are
not sending it anymore to simplify
interoperability.
More
below!
|