I think you make a fair point, and certainly this is not something  
that at least I thought long and deep about. A fall back would be a  
nice idea, assuming the client always sends the relevant HTTP headers.

  So yes, a patch that we can all discuss would be a good idea.

P.

On Feb 19, 2006, at 19:41, Dziugas Baltrunas wrote:

> Hi, Paul,
>
> thanks for the comments but IMHO this is not the behaviour most users
> want. Imagine yourself working in some customer care and every second
> user calls asking what does the message "Mobile MMS Settings not
> found" blaming him or her means. Is it really worth 1-2 seconds of
> blocking the uaprof fetching proxy?
>
> What is more, mbuni already has a fall-back capabilities negotiation
> strategy based on HTTP headers implemented, so why not to use it in
> case we don't have uaprof cached? Another solutions, such as using a
> central profiles repository databases like WURFL
> (http://wurfl.sourceforge.net/), which recently introduced C++ API,
> also exist.
>
> Basically I could try to implement a patch for this problem, before
> this I would like to hear opinions about the capabilities negotiation
> strategy.
>
> Thanks.
>
> On 2/13/06, Paul Bagyenda <[EMAIL PROTECTED]> wrote:
>> Dzuigas,
>>
>>  This behaviour is intentional... I didn't think it wise for the
>> proxy to block while it tries to retrieve the UA Profile from the
>> Internet. Best to temporarily fail, so that client retries, by which
>> time  the profile will have been downloaded...
>>
>> P.
>>
>> On Feb 11, 2006, at 11:01, Dziugas Baltrunas wrote:
>>
>>> Hi,
>>>
>>> I found out another bug related with uaprof. When starting mbuni  
>>> with
>>> empty spool dir and sending an MMS, receiver gets a message with  
>>> text
>>> "Mobile MMS Settings not found". For the second time (when then  
>>> uaprof
>>> is cached) this issue no longer occurs. Here is what debug log  
>>> shows:
>>>
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:  $$$$$$ fetch message [fail]
>>> replying with [type=m-retrieve-conf,content_len=125]:
>>> [...]
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:    data: 58 2d 4d 6d 73 2d  
>>> 52 65
>>> 74 72 69 65 76 65 2d 53   X-Mms-Retrieve-S
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:    data: 74 61 74 75 73 3a  
>>> 20 45
>>> 72 72 6f 72 2d 74 72 61   tatus: Error-tra
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:    data: 6e 73 69 65 6e 74  
>>> 2d 66
>>> 61 69 6c 75 72 65         nsient-failure
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:  Octet string dump ends.
>>>
>>> And it looks like only afterwards profile is being fetched:
>>>
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG: Dumping MMS message body (not
>>> multipart) [0 parts] -->
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG: HTTP: Destroying HTTPClient  
>>> area
>>> 0x8d93f80.
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG: HTTP: Destroying HTTPClient  
>>> for
>>> `192.168.150.2'.
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:  entered free_clientinfo 1,
>>> ip=148455712
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG:  left free_clientinfo
>>> 2006-02-11 09:54:02 [6327] [7] DEBUG: Thread 7
>>> (mmsproxy.c:(gwthread_func_t *)fetchmms_proxy) terminates.
>>> 2006-02-11 09:54:02 [6327] [6] DEBUG: HTTP: Opening connection to
>>> `nds1.nds.nokia.com:80' (fd=25).
>>> 2006-02-11 09:54:02 [6327] [6] DEBUG: Socket connecting
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG: Get info about connecting  
>>> socket
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG: HTTP: Sending request:
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG: Octet string at 0x8d8fa10:
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   len:  93
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   size: 1024
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   immutable: 0
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   data: 47 45 54 20 2f 75  
>>> 61 70
>>> 72 6f 66 2f 4e 36 32 33   GET /uaprof/N623
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   data: 30 72 32 30 30 2e  
>>> 78 6d
>>> 6c 20 48 54 54 50 2f 31   0r200.xml HTTP/1
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   data: 2e 31 0d 0a 48 6f  
>>> 73 74
>>> 3a 20 6e 64 73 31 2e 6e   .1..Host: nds1.n
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   data: 64 73 2e 6e 6f 6b  
>>> 69 61
>>> 2e 63 6f 6d 0d 0a 55 73   ds.nokia.com..Us
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   data: 65 72 2d 41 67 65  
>>> 6e 74
>>> 3a 20 4d 62 75 6e 69 2f   er-Agent: Mbuni/
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG:   data: 31 2e 30 2e 30 2d  
>>> 63 76
>>> 73 0d 0a 0d 0a            1.0.0-cvs....
>>> 2006-02-11 09:54:02 [6327] [5] DEBUG: Octet string dump ends.
>>>
>>> Here is the relevant code in mmsc/mmsproxy.c:
>>>
>>>      if (settings->content_adaptation) {
>>>           MmsMsg *outmsg = NULL;
>>>           int x = mms_transform_msg(m, h->prof, &outmsg);
>>>
>>>           if (x == -1) { /* Temporary failure, we need to fetch
>>> profile. */
>>>                mr = mms_retrieveconf(NULL, transid, "Error-
>>> transient-failure",
>>>                                      "Mobile MMS Settings not  
>>> found",
>>>                                      settings->system_user,MS_1_1);
>>>                s = mms_tobinary(mr);
>>>                goto failed;
>>>
>>> On 2/10/06, Dziugas Baltrunas <[EMAIL PROTECTED]> wrote:
>>>> Hi,
>>>>
>>>> I noticed that a thread mmlib/mms_uaprof.c:mms_profile_fetcher() is
>>>> started from three places (call to mms_start_profile_engine):
>>>> mmsc/mmsrelay.c:main(), mmsc/mmsproxy.c:main() and
>>>> mmsc/mmssend.c:main(). The last one IMHO should be removed entirely
>>>> from CVS and for the two former ones there should be either a
>>>> decision
>>>> which process (i.e. mmsrelay or mmsproxy) should create the  
>>>> thread or
>>>> a check if a thread does not yet exist (which I guess is not an  
>>>> easy
>>>> task since thread is started from separate processes).
>>>>
>>>> To clarify the situation, having both mmsrelay and mmsproxy running
>>>> and sending a TERM to both, tail of debug log shows it:
>>>>
>>>> 2006-02-10 18:21:01 [32311] [1] DEBUG: Fetcher shutdown...
>>>> 2006-02-10 18:21:01 [32311] [1] DEBUG: Thread 1
>>>> (mms_uaprof.c:(gwthread_func_t *)mms_profile_fetcher) terminates.
>>>> 2006-02-10 18:21:03 [32311] [0] DEBUG: Immutable octet strings:  
>>>> 773.
>>>> 2006-02-10 18:21:05 [32313] [1] DEBUG: Fetcher shutdown...
>>>> 2006-02-10 18:21:05 [32313] [1] DEBUG: Thread 1
>>>> (mms_uaprof.c:(gwthread_func_t *)mms_profile_fetcher) terminates.
>>>> 2006-02-10 18:21:07 [32313] [0] DEBUG: Immutable octet strings:  
>>>> 776.
>>>>
>>>> --
>>>> Dziugas
>>>>
>>>
>>>
>>> --
>>> Dziugas
>>>
>>> _______________________________________________
>>> Devel mailing list
>>> Devel@mbuni.org
>>> http://mbuni.org/mailman/listinfo/devel_mbuni.org
>>
>> -----------------------------------------------
>> Trek the Rwenzori's. Or just see them online - http:// 
>> www.rwenzori.com/
>>
>>
>> _______________________________________________
>> Devel mailing list
>> Devel@mbuni.org
>> http://mbuni.org/mailman/listinfo/devel_mbuni.org
>>
>
>
> --
> Dziugas
>
> _______________________________________________
> Devel mailing list
> Devel@mbuni.org
> http://mbuni.org/mailman/listinfo/devel_mbuni.org

-----------------------------------------------
Trek the Rwenzori's. Or just see them online - http:// 
www.rwenzori.com/gallery.htm


_______________________________________________
Devel mailing list
Devel@mbuni.org
http://mbuni.org/mailman/listinfo/devel_mbuni.org

Reply via email to