Re: Unable to make outbound calls via Metaswitch

Eugen Dedu <[email protected]> Sat, 13 Oct 2018 07:54:32 +0200
Newsgroups gmane.comp.gnome.apps.gnomemeeting
Message-ID <[email protected]>
Opal changes often its API and Ekiga does not work with latest opal.  A 
better idea is that you try the development branch of Ekiga, which uses 
a much more version of opal, see "master/trunk (unstable branch)" at 
http://wiki.ekiga.org/index.php/Download_Ekiga_sources.

On 13/10/2018 02:36, Sean via ekiga-list wrote:
> Thanks Eugen, that gives me some place to look next. I'll go build the
> latest Opal and go from there.
> 
> -Sean
> 
> On Fri, Oct 12, 2018 at 12:34 PM Eugen Dedu <[email protected]>
> wrote:
> 
>> Hi Sean,
>>
>> Thank you for your analysis.
>>
>> Unfortunately, the only way to change this behaviour is to modify the
>> source code of opal, which is used by ekiga and takes care of SIP.
>>
>> Perhaps this bug has been fixed in opal since Ekiga was released, but
>> currently there is no one working on Ekiga.
>>
>> Best regards,
>> Eugen
>> http://eugen.dedu.free.fr
>>
>>
>> On 12/10/2018 20:46, Sean via ekiga-list wrote:
>>> New to Ekiga and trying to find a Linux client that I can use with my
>>> company's SIP gateway (MetaSwitch).
>>>
>>> Inbound calls work ok.
>>>
>>> Outbound calls though do not work. After the initial INVITE our switch is
>>> setup to answer back a '401 Unauthorized' after an initial INVITE. The
>>> expected response would be that the client would send a new INVITE
>> without
>>> reusing the TO tag provided in the 'Status 100 Trying' message. When the
>>> second INVITE from Ekiga is sent, it provides authentication but it
>> reuses
>>> the TO Tag.
>>>
>>> Calling# 907550AAAA
>>> Called#  907632BBBB
>>> OS: Ubuntu Mate 17.x
>>> Ekiga v4.0.1
>>> SIP Gateway: Metaswitch
>>>
>>> INVITE sip:907632BBBB@metaswitch SIP/2.0
>>> CSeq: 1 INVITE
>>> v: SIP/2.0/UDP
>>> HOME_IP:5060;branch=z9hG4bKe892599d-a9cc-e811-95ba-b88a60eb21bb;rport
>>> User-Agent: Ekiga/4.0.1
>>> f: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> i: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> k: 100rel,replaces
>>> t: <sip:907632BBBB@metaswitch>
>>> m: "Sean" <sip:907550AAAA@HOME_IP:5060>
>>> Allow:
>>>
>> INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK
>>> l: 872
>>> c: application/sdp
>>> Max-Forwards: 70
>>>
>>> SIP/2.0 100 Trying
>>> CSeq: 1 INVITE
>>> Via: SIP/2.0/UDP
>>>
>> HOME_IP:5060;received=HOME_IP;rport=5060;branch=z9hG4bKe892599d-a9cc-e811-95ba-b88a60eb21bb
>>> Server: SIP/2.0
>>> From: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> Call-ID: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> To: <sip:907632BBBB@metaswitch>;tag=sip+1+37370041+7a4ac210
>>> Content-Length: 0
>>>
>>> SIP/2.0 401 Unauthorized
>>> CSeq: 1 INVITE
>>> Via: SIP/2.0/UDP
>>>
>> HOME_IP:5060;received=HOME_IP;rport=5060;branch=z9hG4bKe892599d-a9cc-e811-95ba-b88a60eb21bb
>>> Server: DC-SIP/2.0
>>> From: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> Call-ID: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> Supported: resource-priority, siprec, 100rel
>>> Organization: Metaswitch Networks
>>> To: <sip:907632BBBB@metaswitch>;tag=sip+1+37370041+7a4ac210
>>> Contact: <sip:METASWITCH_IP:5060>
>>> Content-Length: 0
>>> WWW-Authenticate: Digest
>>>
>> realm="metaswitch",nonce="47ef533f87db",stale=false,algorithm=MD5,qop="auth"
>>>
>>> ACK sip:907632BBBB@metaswitch SIP/2.0
>>> CSeq: 1 ACK
>>> Via: SIP/2.0/UDP
>>> HOME_IP:5060;branch=z9hG4bKe892599d-a9cc-e811-95ba-b88a60eb21bb;rport
>>> From: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> Call-ID: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> To: <sip:907632BBBB@metaswitch>;tag=sip+1+37370041+7a4ac210
>>> Content-Length: 0
>>> Max-Forwards: 70
>>>
>>> INVITE sip:907632BBBB@metaswitch SIP/2.0
>>> CSeq: 2 INVITE
>>> v: SIP/2.0/UDP
>>> HOME_IP:5060;branch=z9hG4bK82d69d9e-a9cc-e811-95ba-b88a60eb21bb;rport
>>> User-Agent: Ekiga/4.0.1
>>> Authorization: Digest username="907550AAAA", realm="metaswitch",
>>> nonce="47ef533f87db", uri="sip:907632BBBB@metaswitch", algorithm=MD5,
>>> response="x", cnonce="c87c9d9e-a9cc-e811-95ba-b88a60eb21bb", nc=00000001,
>>> qop=auth
>>> f: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> i: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> k: 100rel,replaces
>>> t: <sip:907632BBBB@metaswitch>;tag=sip+1+37370041+7a4ac210
>>> m: "Sean" <sip:907550AAAA@HOME_IP:5060>
>>> Allow:
>>>
>> INVITE,ACK,OPTIONS,BYE,CANCEL,SUBSCRIBE,NOTIFY,REFER,MESSAGE,INFO,PING,PRACK
>>> l: 872
>>> c: application/sdp
>>> Max-Forwards: 70
>>>
>>> SIP/2.0 481 Call/Transaction Does Not Exist
>>> CSeq: 2 INVITE
>>> Via: SIP/2.0/UDP
>>>
>> HOME_IP:5060;received=HOME_IP;rport=5060;branch=z9hG4bK82d69d9e-a9cc-e811-95ba-b88a60eb21bb
>>> Server: SIP/2.0
>>> From: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> Call-ID: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> To: <sip:907632BBBB@metaswitch>;tag=sip+1+37370041+7a4ac210
>>> Warning: 399 sip "The specified dialog does not exist"
>>> Content-Length: 0
>>>
>>> ACK sip:907632BBBB@metaswitch SIP/2.0
>>> CSeq: 2 ACK
>>> Via: SIP/2.0/UDP
>>> HOME_IP:5060;branch=z9hG4bK82d69d9e-a9cc-e811-95ba-b88a60eb21bb;rport
>>> Authorization: Digest username="907550AAAA", realm="metaswitch",
>>> nonce="47ef533f87db", uri="sip:907632BBBB@metaswitch", algorithm=MD5,
>>> response="42a186ed75e5f3629bd1183887447e44",
>>> cnonce="c87c9d9e-a9cc-e811-95ba-b88a60eb21bb", nc=00000002, qop=auth
>>> From: "Sean" <sip:907550AAAA@metaswitch
>>>> ;tag=72d94c9d-a9cc-e811-95ba-b88a60eb21bb
>>> Call-ID: 7aea4c9d-a9cc-e811-95ba-b88a60eb21bb@laptop
>>> To: <sip:907632BBBB@metaswitch>;tag=sip+1+37370041+7a4ac210
>>> Content-Length: 0
>>> Max-Forwards: 70
>>>
>>>
>>> When trouble shooting this with our VOIP engineers, they pointed me to
>> RFC
>>> 3261 8.1.1.2
>>>
>>> A request outside of a dialog MUST NOT contain a To tag; the tag in
>>>      the To field of a request identifies the peer of the dialog.  Since
>>>      no dialog is established, no tag is present.
>>>
>>> After Metaswitch answers with the '401 Unauthorized', it deletes the
>>> reference to that TO tag and when Ekiga reuses it, Metaswitch can't match
>>> it to any current session.
>>>
>>> I've captured packets using Linphone and it behaves in the way our
>>> Metaswitch is expecting, to not include a TO tag when sending the second
>>> INVITE that includes authentication.
>>>
>>> Is there a way Ekiga's behavior can be changed locally via configuration
>>> file to either:
>>>
>>>       1. Not include the TO tag on the second INVITE
>>>       2. Include Authentication on the initial INVITE
>>>
>>> Is/could this be a feature request that I need to submit vs. a bug?
>>>
>>> Thanks.
>>>
>>> -Sean
>>>
>>>
>>> _______________________________________________
>>> ekiga-list mailing list
>>> [email protected]
>>> https://mail.gnome.org/mailman/listinfo/ekiga-list
>>>
>> _______________________________________________
>> ekiga-list mailing list
>> [email protected]
>> https://mail.gnome.org/mailman/listinfo/ekiga-list
>>
> 
> 
> _______________________________________________
> ekiga-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/ekiga-list
>