Hello,
please send the request uri as well and the details about the IP
communication (source/destination address, port).
use:
ngrep -qt -W byline port 5060
the replace the IPs with something suggestive to protect your privacy.
Daniel
On 08/21/07 14:28, David Loh wrote:
Hi Daniel,
Thanks for the reply, here's my INVITE and BYE packet, I tcpdump-ed
and and use wireshark to export as txt, so the format might be abit
off.
1) Invite from OpenSER to Asterisk via port 5060, asterisk return a
200. And the call successfully established
------------------------------------------------------------------------
Record-Route: <sip:%OpenSER_IP%;r2=on;lr;ftag=1247871f;nat=yes>
Record-Route:
<sip:%OpenSER_IP%:5061;transport=tls;r2=on;lr;ftag=1247871f;nat=yes>
Via: SIP/2.0/UDP %OpenSER_IP%;branch=z9hG4bKe42e.ff11ae32.0;i=52
Via: SIP/2.0/TLS
%UAC_LAN_IP%:23323;received=%UAC_WAN_IP%;branch=z9hG4bK-d87543-2820ee009262b500-1--d87543-;rport=3135
Max-Forwards: 69
Contact: <sip:davidloh@%UAC_WAN_IP%:3135;transport=TLS>
To: "001"<sip:001@%SIP_Domain%>
From: "ser"<sip:davidloh@%SIP_Domain%>;tag=1247871f
Call-ID: Zjc4OWJhZGNiMDUxNjQ5Y2I2ZDU3NTc4NGY2Y2RmOGQ.
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
SUBSCRIBE, INFO
Content-Type: application/sdp
User-Agent: eyeBeam release 1004p stamp 31962
Content-Length: 239
------------------------------------------------------------------------
2) Here's the BYE, from Asterisk to OpenSER.
------------------------------------------------------------------------
Via: SIP/2.0/UDP %Asterisk_IP%:5060;branch=z9hG4bK0ca1ab09;rport
Route:
<sip:%OpenSER_IP%;r2=on;lr;ftag=1247871f;nat=yes>,<sip:%OpenSER_IP%:5061;transport=tls;r2=on;lr;ftag=1247871f;nat=yes>
From: "001"<sip:001@%SIP_Domain%>;tag=as0492a9d0
To: "ser"<sip:davidloh@%SIP_Domain%>;tag=1247871f
Call-ID: Zjc4OWJhZGNiMDUxNjQ5Y2I2ZDU3NTc4NGY2Y2RmOGQ.
CSeq: 102 BYE
User-Agent: Asterisk PBX
Max-Forwards: 70
Content-Length: 0
------------------------------------------------------------------------
3) And then, OpenSER passing the BYE to UAC...
------------------------------------------------------------------------
Record-Route: <sip:%OpenSER_IP%;lr;ftag=as0492a9d0>
Via: SIP/2.0/UDP %OpenSER_IP%;branch=z9hG4bK5e.1195fd8.0
Via: SIP/2.0/UDP %Asterisk_IP%:5060;branch=z9hG4bK0ca1ab09;rport=5060
From: "001"<sip:001@%SIP_Domain%>;tag=as0492a9d0
To: "ser"<sip:davidloh@%SIP_Domain%>;tag=1247871f
Call-ID: Zjc4OWJhZGNiMDUxNjQ5Y2I2ZDU3NTc4NGY2Y2RmOGQ.
CSeq: 102 BYE
User-Agent: Asterisk PBX
Max-Forwards: 69
Content-Length: 0
------------------------------------------------------------------------
I think the "protocol/port mismatch" happened right after (3)
because from my ethereal trace,
after short while (perhaps timeout), Asterisk will re-initiate a
"BYE" and pass to OpenSER (packet #2), and OpenSER will forward it
to UAC (packet #3),
but somehow UAC doesn't response an "ACK" to OpenSER that why from
my ethereal trace, packet #2 and #3 kept looping.
Any thoughts ?
Thanks in advance.
Regards,
David Loh
Daniel-Constantin Mierla wrote:
Hello,
can you paste the BYE here (you can catch it with ngrep if it is
not coming via tls, e.g., from asterisk)? Also, the invite going to
asterisk will be good.
Cheers,
Daniel
On 08/20/07 07:50, David Loh wrote:
> Hi All,
>
> Good day, I'm new to this mailing list :-)
>
> I've setup an OpenSER server with TLS implementation, so far I
> tested everything works fine,
> but there's strange problem for "BYE" request, from the openser's
> log it always complaint:
> "Aug 19 22:58:40 ser /sbin/openser[16171]:
> WARNING:get_send_socket: protocol/port mismatch"
>
> Here's my implementation:
> UA -> OpenSER -> Asterisk (as RTP) -> OpenSER -> UA
> On OpenSER I've two port opened which is Udp 5060 and TCP 5061 (TLS).
> My UA is Eyebeam v1.5 and the CA certificate (self-signed) already
> installed into IE "Trusted RootCA Certificates".
> So far I've tested p2p and pstn calls (and call to playback
> balance/asterisk), but the problem is unless UA disconnect the
> call (initiate BYE),
> otherwise if remote party (p2p/pstn/asterisk) initiate BYE
> request, my UA will forever stay connected until I disconnect the
> call manually.
>
> So far I've identified the BYE request from remote party will go
> into Loose Route, and I've place a xlog to display the R-Uri..
> here's the log from openser: (notes: if UA dial '001' will
> playback his/her balance from asterisk)
>
-------------------------------------------------------------------------------------------------------------
>
> Aug 19 22:58:31 ser /sbin/openser[16189]: DBG: INVITE from client
> sip:%user%@%domain% (%UA_IP%) - p2p call
> Aug 19 22:58:31 ser /sbin/openser[16189]: DBG: INVITE
> F-[sip:%user%@%domain%] T-[sip:001@%domain%] IP-[%UA_IP%] SUCCESSFUL
> Aug 19 22:58:32 ser /sbin/openser[16189]: DBG: INVITE from client
> sip:%user%@%domain% (%UA_IP%)
> Aug 19 22:58:32 ser /sbin/openser[16189]: DBG: INVITE from client
> sip:%user%@%domain% (%UA_IP%) - p2p call
> Aug 19 22:58:32 ser /sbin/openser[16189]: DBG: INVITE
> F-[sip:%user%@%domain%] T-[sip:001@%domain%] IP-[%UA_IP%] SUCCESSFUL
> Aug 19 22:58:32 ser /sbin/openser[16189]: DBG:
> [sip:%user%@%domain%](%UA_IP%) ACK [sip:001@%domain%] relayed
> LOOSE ROUTE
> Aug 19 22:58:32 ser /sbin/openser[16189]: DBG: ruri
> [sip:001@%Asterisk_IP%] relayed LOOSE ROUTE
> Aug 19 22:58:40 ser /sbin/openser[16171]: DBG:
> [sip:001@%domain%](%Asterisk_IP%) BYE [sip:%user%@%domain%]
> relayed LOOSE ROUTE
> Aug 19 22:58:40 ser /sbin/openser[16171]: DBG: ruri
> [sip:%user%@%domain%:%UA_Port%] relayed LOOSE ROUTE
> Aug 19 22:58:40 ser /sbin/openser[16171]: WARNING:get_send_socket:
> protocol/port mismatch <<<=============
> Aug 19 22:58:41 ser /sbin/openser[16177]: DBG:
> [sip:001@%domain%](%Asterisk_IP%) BYE [sip:%user%@%domain%]
> relayed LOOSE ROUTE
> Aug 19 22:58:41 ser /sbin/openser[16177]: DBG: ruri
> [sip:%user%@%UA_IP%:%UA_Port%] relayed LOOSE ROUTE
> Aug 19 22:58:42 ser /sbin/openser[16181]: DBG:
> [sip:001@%domain%](%Asterisk_IP%) BYE [sip:%user%@%domain%]
> relayed LOOSE ROUTE
> Aug 19 22:58:42 ser /sbin/openser[16181]: DBG: ruri
> [sip:%user%@%UA_IP%:%UA_Port%] relayed LOOSE ROUTE
> ....... (repeat the last 4 lines N times )
>
-------------------------------------------------------------------------------------------------------------
>
> Below is my openser.cfg, loose route section
>
-------------------------------------------------------------------------------------------------------------
>
> ###############
> # Loose route #
> ###############
> if(loose_route()) {
> if(has_totag() && (is_method("INVITE") ||
is_method("ACK"))) {
> if(nat_uac_test("19") || search("^Route:.*;nat=yes"))
{
> fix_nated_contact();
> }
> }
>
> xlog("L_INFO", "DBG: [$fu]($si) $rm [$tu] relayed LOOSE
> ROUTE");
> xlog("L_INFO", "DBG: ruri [$ru] relayed LOOSE ROUTE");
> t_relay();
>
> exit;
> }
>
-------------------------------------------------------------------------------------------------------------
>
>
> Had anyone encountered the same problems before ? Do you mind to
> share your experience with me ?
> Your help are greatly appreciated, thanks in advance.
>
> Regards,
> David Loh
>
>
> _______________________________________________
> Users mailing list
> Users(a)openser.org
>
http://openser.org/cgi-bin/mailman/listinfo/users
>