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

Reply via email to