have reading the source code,
found the answer,

The condition is

For Bounce Link
(senderType = customer and articleType is not begin with note.) or (articleType is email-external.)

For Split Link
(senderType = customer) and (articleType is not begin with note).

<!-- dtl:block:AgentArticleComBounce -->
                    <dtl if ($Data{"ArticleType"} eq "email-external") { $Data{"ArticleBounceString"} = "Bounce"; }>
                    <dtl if ($Data{"SenderType"} ne "customer") { $Data{"ArticleBounceString"} = ""; }>
                    <a href="$Env{"Baselink"}Action=AgentTicketBounce&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}&QueueID=$Data{"QueueID"}" onmouseover="window.status='$JSText{"Bounce"}'; return true;" onmouseout="window.status='';">$Text{"$Data{"ArticleBounceString"}"}</a>
<!-- dtl:block:AgentArticleComBounce -->
# check if split should be shown
<!-- dtl:block:AgentArticleComPhone -->
                    <dtl if ($Data{"SenderType"} eq "customer") { $Data{"ArticleSplitString"} = "Split"; }>
                    <a href="$Env{"Baselink"}Action=AgentTicketPhone&ArticleID=$Data{"ArticleID"}&QueueID=$Data{"QueueID"}&LinkTicketID=$QData{"TicketID"}" onmouseover="window.status='$JSText{"Split"}'; return true;" onmouseout="window.status='';">$Text{"$Data{"ArticleSplitString"}"}</a>
<!-- dtl:block:AgentArticleComPhone -->


# select the output template
        if ( $Article{ArticleType} =~ /^note/i ) {

            # without compose links!
            if (
                $Param{CustomerUserID}
                && $Param{CustomerUserID} =~ /^$Self->{UserLogin}$/i
                && $Self->{ConfigObject}->Get('Ticket::AgentCanBeCustomer')
                )
            {
                $Self->{LayoutObject}->Block(
                    Name => 'AgentIsCustomer',
                    Data => { %Param, %Article, %AclAction },
                );
            }
            $Self->{LayoutObject}->Block(
                Name => 'AgentArticleCom',
                Data => { %Param, %Article, %AclAction },
            );

            # check if print link should be shown
            if (
                $Self->{ConfigObject}->Get('Frontend::Module')->{AgentTicketPrint}
                && ( !defined( $AclAction{AgentTicketPrint} ) || $AclAction{AgentTicketPrint} )
                )
            {
                my $OK = $Self->{TicketObject}->Permission(
                    Type     => 'ro',
                    TicketID => $Param{TicketID},
                    UserID   => $Self->{UserID},
                    LogNo    => 1,
                );
                if ($OK) {
                    $Self->{LayoutObject}->Block(
                        Name => 'AgentArticleComPrint',
                        Data => { %Param, %Article, %AclAction },
                    );
                }
            }

        }
        else {

            # without all!
            if (
                $Param{CustomerUserID}
                && $Param{CustomerUserID} =~ /^$Self->{UserLogin}$/i
                && $Self->{ConfigObject}->Get('Ticket::AgentCanBeCustomer')
                )
            {
                $Self->{LayoutObject}->Block(
                    Name => 'AgentIsCustomer',
                    Data => { %Param, %Article, %AclAction },
                );
            }



On Thu, May 21, 2009 at 8:57 AM, Jeffery Chen Fan <jeffery9@gmail.com> wrote:
what means articles from customers?
phone-ticket ? email-ticket ? customer web interface ?



On Wed, May 20, 2009 at 5:52 PM, Arlene Wu <arlene_wu@heartsome.net> wrote:
Only articles from customers could be split and bounced.



--
Jeffery
___
/\__\ "What is the world coming to?"
\/__/  






--
Jeffery
___
/\__\ "What is the world coming to?"
\/__/