diff --git a/callwidget.cpp b/callwidget.cpp
index 31ccd386bc9014aa93c0c31c6e16e73f47cb637e..7c017f6d04bd6aaabcd1b1e0c164203f94551296 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -351,25 +351,25 @@ CallWidget::setupSmartListContextMenu(const QPoint& pos)
                 selectConversation(*conversation, *convModel);
             }
         });
+    // clear conversation
+        auto clearConversationAction = new QAction(tr("Clear conversation"), this);
+    menu.addAction(clearConversationAction);
+    connect(clearConversationAction, &QAction::triggered,
+        [convUid]() {
+            LRCInstance::getCurrentConversationModel()->clearHistory(convUid);
+        });
+    // remove contact
+    auto removeContactAction = new QAction(tr("Remove contact"), this);
+    menu.addAction(removeContactAction);
+    connect(removeContactAction, &QAction::triggered,
+        [convUid]() {
+            LRCInstance::getCurrentConversationModel()->removeConversation(convUid, false);
+        });
 
     if (contact.profileInfo.type == lrc::api::profile::Type::RING) {
         // separator
         menu.addSeparator();
 
-        // clear conversation
-        auto clearConversationAction = new QAction(tr("Clear conversation"), this);
-        menu.addAction(clearConversationAction);
-        connect(clearConversationAction, &QAction::triggered,
-            [convUid]() {
-                LRCInstance::getCurrentConversationModel()->clearHistory(convUid);
-            });
-        // remove contact
-        auto removeContactAction = new QAction(tr("Remove contact"), this);
-        menu.addAction(removeContactAction);
-        connect(removeContactAction, &QAction::triggered,
-            [convUid]() {
-                LRCInstance::getCurrentConversationModel()->removeConversation(convUid, false);
-            });
         // block contact
         auto blockContactAction = new QAction(tr("Block contact"), this);
         menu.addAction(blockContactAction);
diff --git a/conversationitemdelegate.cpp b/conversationitemdelegate.cpp
index e1c4a85aeae58bb505d78cf0f1d7c7e36136d544..aef44136fe094de99b8a1c32adf7a7be41182eea 100644
--- a/conversationitemdelegate.cpp
+++ b/conversationitemdelegate.cpp
@@ -136,16 +136,15 @@ ConversationItemDelegate::paint(QPainter* painter
         );
     switch (type) {
     case profile::Type::RING:
+    case profile::Type::SIP:
     case profile::Type::TEMPORARY:
-        paintRingConversationItem(painter, option, rect, index);
+        paintConversationItem(painter, option, rect, index);
         break;
     case profile::Type::PENDING:
         paintRingInviteConversationItem(painter, option, rect, index);
         break;
-    case profile::Type::SIP:
-        break;
     default:
-        paintRingConversationItem(painter, option, rect, index);
+        paintConversationItem(painter, option, rect, index);
         break;
     }
 }
@@ -160,10 +159,10 @@ ConversationItemDelegate::sizeHint(const QStyleOptionViewItem& option,
 }
 
 void
-ConversationItemDelegate::paintRingConversationItem(QPainter* painter,
-                                                    const QStyleOptionViewItem& option,
-                                                    const QRect& rect,
-                                                    const QModelIndex& index) const
+ConversationItemDelegate::paintConversationItem(QPainter* painter,
+                                                const QStyleOptionViewItem& option,
+                                                const QRect& rect,
+                                                const QModelIndex& index) const
 {
     Q_UNUSED(option);
     QFont font(painter->font());
@@ -352,13 +351,3 @@ ConversationItemDelegate::paintRingInviteConversationItem(QPainter* painter,
         painter->drawText(rectName2, Qt::AlignVCenter | Qt::AlignLeft, idStr);
     }
 }
-
-void
-ConversationItemDelegate::paintSIPConversationItem(QPainter* painter,
-                                                   const QStyleOptionViewItem& option,
-                                                   const QModelIndex& index) const
-{
-    Q_UNUSED(painter);
-    Q_UNUSED(option);
-    Q_UNUSED(index);
-}
diff --git a/conversationitemdelegate.h b/conversationitemdelegate.h
index f8778456a9139c6ec3c18093c3efd31573c7c340..2484b8c38515a1522f231ea0d1795557983bb7ca 100644
--- a/conversationitemdelegate.h
+++ b/conversationitemdelegate.h
@@ -34,9 +34,8 @@ protected:
     QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
 
 private:
-    void paintRingConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QModelIndex& index) const;
+    void paintConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QModelIndex& index) const;
     void paintRingInviteConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QRect& rect, const QModelIndex& index) const;
-    void paintSIPConversationItem(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
 
     constexpr static int sizeImage_ = 48;
     constexpr static int cellHeight_ = 60;