×

Discussion Board

Results 1 to 11 of 11
  1. #1
    Regular Contributor
    Join Date
    May 2007
    Posts
    77

    Resolverplugin replies message 401

    Hi,

    I am developing a sip client that sends a REGISTER to a server and has to reply the message 401 that has the challenge.

    I use CSIPHttpDigestObserver to reply the 401, but when I receive the message, the plugin replies to the server, it doesn't give the message to my aplication.

    How can I do that the message arrived to my application?

    I use RDebug::Print in the function ChallengeRequest and I can watch in the epocwind.out that the plugin doesn't call this function. This is the epocwind.out:

    SIP: Connection Manager::ReceivedFromNetwork, SIP/2.0 401 Unauthorized - Challenging the UE
    Via: SIP/2.0/UDP XXX.XXX.XXX.XXX:5060;rport=5060;bran
    SIP: Received data via UDP:
    SIP: Received data:
    SIP: SIP/2.0 401 Unauthorized - Challenging the UE
    Via: SIP/2.0/UDP XXX.XXX.XXX:5060;rport=5060;bran
    SIP: Incoming message:
    SIP: From address: XXX.XXX.XXX.XXXPort: 4060
    WSOCK: Protocol: [13C55A30] NewSAPL(2) for udp
    WSOCK: ServProvider: [13C5DC28] created
    WSOCK: ServProvider: [13C5DC28] SetNotify(13C5DC04)
    WSOCK: ServProvider: [13C5DC28] SetNotify(13C5DC04)
    WSOCK: ServProvider: [13C5DC28] Start()
    WSOCK: ServProvider: [13C5DC28] SetOption(KSoConnectionInfo) IAP 3, network 3
    WSOCK: ServProvider: [13C5DC28] SetOption(KSoInetEnumInterfaces)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetNextInterface)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetIfQueryByName)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetNextInterface)
    WSOCK: ServProvider: [13C5DC28] Shutdown(00000000)
    WSOCK: ServProvider: [13C5DC28] SetNotify(00000000)
    WSOCK: ServProvider: [13C5DC28] destroyed
    SIP: SIPSecSIMCredProv:RequestPassword
    SIP: RAND len=16,AUTN len=16
    SIP: RAND=
    SIP: 9d 35 93 d4 23 b6 54 81 36 82 69 cb 16 df e5 9e
    SIP: AUTN=
    SIP: 8d 20 f5 d8 e7 00 00 00 05 24 35 f4 96 9c fd 74
    SIP: SIPSecIMSAuthen:RunL status=0
    SIP: SIPSecSIMCredProv:AuthenticatedL
    SIP: lengths IK=16,CK=16,IMPI=0,RES=16,AUTS=0
    SIP: IK=
    SIP: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
    SIP: CK=
    SIP: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
    SIP: RES=
    SIP: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
    SIP: CSIPSecSIMRecord::SetUserCredentialsL
    SIP: SIPSecUserRec:SetUserCredL return ETrue
    SIP: SIPSecSIMRecord:SetUserCredL return 1
    SIP: SIPSecUserRecord:Updated
    SIP: -> OperationCompleted
    SIP: SIPSecDigestObs:OperCompl status=1
    SIP: iAtLeastOneSuccessfulOperation -> ETrue
    SIP: SIPSecRespHa:CacheUpdated success=1
    SIP: proceed to second phase
    SIP: RespFirstPhaseDoneL leavecode=0
    SIP: SecondAsyncPhaseL leavecode=0
    SIP: SIPSecRespHa:Completed success=1
    SIP: SIPSecDigestPlugin:AddSecurityParamsL
    SIP: SIPSecCred::UpdateL(ctx)
    SIP: user data is valid
    SIP: SIPSecChallengeAKA:ProcessL
    SIP: no MAC failure
    SIP: SIPSecChallengeMD5:ProcessL
    SIP: response computed
    SIP: SIPSecChallengeMD5:ProcessL ends
    SIP: SIPSecCred::UpdateL(ctx) ends
    SIP: SIPSecDigestPlugin:AddSecurityParamsL ends
    WSOCK: Protocol: [13C55A30] NewSAPL(2) for udp
    WSOCK: ServProvider: [13C5DC28] created
    WSOCK: ServProvider: [13C5DC28] SetNotify(13C5DC04)
    WSOCK: ServProvider: [13C5DC28] SetNotify(13C5DC04)
    WSOCK: ServProvider: [13C5DC28] Start()
    WSOCK: ServProvider: [13C5DC28] SetOption(KSoConnectionInfo) IAP 3, network 3
    WSOCK: ServProvider: [13C5DC28] SetOption(KSoInetEnumInterfaces)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetNextInterface)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetIfQueryByName)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetNextInterface)
    WSOCK: ServProvider: [13C5DC28] Shutdown(00000000)
    WSOCK: ServProvider: [13C5DC28] SetNotify(00000000)
    WSOCK: ServProvider: [13C5DC28] destroyed
    WSOCK: Protocol: [13C55A30] NewSAPL(2) for udp
    WSOCK: ServProvider: [13C5DC28] created
    WSOCK: ServProvider: [13C5DC28] SetNotify(13C5DC04)
    WSOCK: ServProvider: [13C5DC28] SetNotify(13C5DC04)
    WSOCK: ServProvider: [13C5DC28] Start()
    WSOCK: ServProvider: [13C5DC28] SetOption(KSoConnectionInfo) IAP 3, network 3
    WSOCK: ServProvider: [13C5DC28] SetOption(KSoInetEnumInterfaces)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetNextInterface)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetIfQueryByName)
    WSOCK: ServProvider: [13C5DC28] GetOption(KSoInetNextInterface)
    WSOCK: ServProvider: [13C5DC28] Shutdown(00000000)
    WSOCK: ServProvider: [13C5DC28] SetNotify(00000000)
    WSOCK: ServProvider: [13C5DC28] destroyed
    SIP: Outgoing data:
    SIP: To address: XXX.XXX.XXX.XXXPort: 4060
    SIP: REGISTER sip:domain SIP/2.0

    Thanks in advance

  2. #2
    Regular Contributor
    Join Date
    Aug 2007
    Posts
    74

    Re: Resolverplugin replies message 401

    Hi,

    In this case the 401 contains AKA challenge, and such challenges are handled by the USIM card, and are not passed to application.
    USIM provides the credentials and a new REGISTER is sent automatically.

  3. #3
    Regular Contributor
    Join Date
    May 2007
    Posts
    77

    Re: Resolverplugin replies message 401

    Thanks jp40,

    There are some mechanism to change this? I have to indicate the credentials in the application, because the new Register that is sended by the mobile phone hasn't the field 'username' and I receive a 400 error from the server.

    400 Bad Request - Private ID in Authorization / username token missing

    Thanks in advance.

  4. #4
    Regular Contributor
    Join Date
    Aug 2007
    Posts
    74

    Re: Resolverplugin replies message 401

    Hi,

    I looked the logs of your first post, I they look a bit strange:

    SIPSecSIMCredProv:AuthenticatedL
    SIP: lengths IK=16,CK=16,IMPI=0,RES=16,AUTS=0
    SIP: IK=
    SIP: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
    SIP: CK=
    SIP: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
    SIP: RES=
    SIP: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01

    The IMPI parameter is used as username when computing the digest response, but log indicates its length is zero, so the username was not provided. Also the values of IK, CK and RES seem curious.

  5. #5
    Regular Contributor
    Join Date
    May 2007
    Posts
    77

    Re: Resolverplugin replies message 401

    Hi,

    I am looking for information about the IMPI parameter and I saw that this parameter is a internal number of the network, buy I am testing the SIP client in the emulator and I haven't this number.

    How can I test the application in the emulator? Can I change this parameter in the emulator?

    Thanks in advance.

  6. #6
    Regular Contributor
    Join Date
    Aug 2007
    Posts
    74

    Re: Resolverplugin replies message 401

    Hi,

    Since the emulator does not have the USIM card, the AKA challenges can't be properly tested with it.
    You'd need to implement the IMS authentication and authorization algorithms that are executed in the USIM, to the platform code, to be able to generate correct IK, CK, RES etc parameters based on the challenge.

  7. #7
    Regular Contributor
    Join Date
    May 2007
    Posts
    77

    Re: Resolverplugin replies message 401

    Hi,

    but, How can I do that the 401 message go to my application? Because if I do an application that creates the IK,CK, RES I need that the emulator executes this application, but now the emuletor reply automatically.

    Thanks in advance.

  8. #8
    Regular Contributor
    Join Date
    Aug 2007
    Posts
    74

    Re: Resolverplugin replies message 401

    Hi,

    With CSIP::SetSecurityHandlingL() you can bypass the SIP stack's security handling, and then the 401/407 responses would get passed to the application.

  9. #9
    Regular Contributor
    Join Date
    May 2007
    Posts
    77

    Re: Resolverplugin replies message 401

    Hi,

    I can not find this method, I am watching the API:

    http://www.symbian.com/developer/tec...CSIPClass.html

    If I use the function that you indicate, Carbide tells me that it is an 'undefined identifier'.

    Thanks you very much for your answer.

  10. #10
    Regular Contributor
    Join Date
    Aug 2007
    Posts
    74

    Re: Resolverplugin replies message 401

    CSIP::SetSecurityHandlingL is only present in the Symbian OS 9.5 onwards.

  11. #11
    Regular Contributor
    Join Date
    May 2007
    Posts
    77

    Re: Resolverplugin replies message 401

    Hi,

    I am working with the N95 (Symbian v9.2) and I use the SDK S60 3rd FP1 to the indicated Symbian version.

    What SDK and mobile phone I have to use to work with Symbian v9.5?

    Thanks in advance.

Similar Threads

  1. Replies: 5
    Last Post: 2006-08-28, 14:35
  2. Help on sending Message :(
    By vasant21 in forum Symbian
    Replies: 1
    Last Post: 2006-07-07, 06:38
  3. problem to send a service loading message push for 8310
    By alinesimon in forum General Messaging
    Replies: 1
    Last Post: 2002-05-06, 12:39
  4. Problem to send a service loadinfd push message for 8310
    By alinesimon in forum Smart Messaging
    Replies: 1
    Last Post: 2002-05-03, 10:49

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •