PJSUA2開發文檔--第七章 呼叫 Calls類


7   呼叫Calls

呼叫由Call類處理

7.1 子類化Call類

要使用Call類,應用程序應創建子類,如:

class MyCall : public Call
{
public:
    MyCall(Account &acc, int call_id = PJSUA_INVALID_ID)
    : Call(acc, call_id)
    { }

    ~MyCall()
    { }

    // Notification when call's state has changed.
    virtual void onCallState(OnCallStateParam &prm);

    // Notification when call's media state has changed.
    virtual void onCallMediaState(OnCallMediaStateParam &prm);
};

 在其子類中,應用程序可以實現呼叫回調,基本上用於處理與呼叫有關的事件,如呼叫狀態更改或來電轉接請求。

 

7.2 呼出 Making Outgoing Calls

撥出電話很簡單,只需調用Call對象的makeCall()方法即可。假設在“dest_uri”中將Account對象作為acc變量和目標URI字符串,可以使用下面的代碼段發起呼出:

Call *call = new MyCall(*acc);
CallOpParam prm(true); // Use default call settings
try {
    call->makeCall(dest_uri, prm);
} catch(Error& err) {
    cout << err.info() << endl;
}

上面的代碼段創建一個Call對象,並使用默認的呼叫設置啟動到dest_uri的呼出。對呼叫的后續操作可以使用呼叫實例中的方法,並且將呼叫的事件報告給回調。有關回調的更多內容將稍后解釋。

7.3 接收來電 Receiving Incoming Calls 

來電將被報告為Account類的onIncomingCall()。必須從Account類派生一個類來處理來電。

以下是回調實現的示例代碼:

void MyAccount::onIncomingCall(OnIncomingCallParam &iprm)
{ Call *call = new MyCall(*this, iprm.callId); CallOpParam prm; prm.statusCode = PJSIP_SC_OK; call->answer(prm); }

對於來電,如以上所示,在回調函數中創建呼叫實例。應用程序應確保在呼叫生命周期內存儲呼叫實例(直到呼叫斷開連接)。

7.4 呼叫屬性

所有呼叫屬性,如狀態,媒體狀態,遠端(遠程對等體)信息等都存儲為CallInfo類,可以使用Call的getInfo()方法獲取。

7.5 呼叫斷開

呼叫斷開事件是一個特殊的事件,因為一旦報告此事件的回調返回,該調用將不再有效,並且調用對象的任何操作將引發錯誤異常。因此,建議刪除回調中的調用對象。

Call的onCallState()方法報告呼叫斷開,可以檢測如下:

void MyCall::onCallState(OnCallStateParam &prm)
{
    CallInfo ci = getInfo();
    if (ci.state == PJSIP_INV_STATE_DISCONNECTED) {
        /* Delete the call */
        delete this;
    }
}

7.6 與通話的音頻媒體工作

當呼叫的音頻媒體准備就緒(或激活)時,只能使用呼叫的音頻媒體(例如,連接會議電話中的聲音設備的呼叫)。呼叫媒體狀態的更改在onCallMediaState()回調中報告,如果呼叫音頻媒體已准備就緒(或活動),則Call.getMedia()函數將返回有效的音頻媒體。

以下是當媒體處於活動狀態時將呼叫連接到聲音設備的示例代碼:

void MyCall::onCallMediaState(OnCallMediaStateParam &prm)
{
    CallInfo ci = getInfo();
    // Iterate all the call medias
    for (unsigned i = 0; i < ci.media.size(); i++) {
        if (ci.media[i].type==PJMEDIA_TYPE_AUDIO && getMedia(i)) {
            AudioMedia *aud_med = (AudioMedia *)getMedia(i);

            // Connect the call audio media to sound device
            AudDevManager& mgr = Endpoint::instance().audDevManager();
            aud_med->startTransmit(mgr.getPlaybackDevMedia());
            mgr.getCaptureDevMedia().startTransmit(*aud_med);
        }
    }
}

當音頻媒體變得不活動時(例如當呼叫被保持)時,不需要停止到/從聲音設備的音頻媒體傳輸,因為(當音頻媒體不再有效時)呼叫的音頻媒體將自動從會議橋被移除,這也將自動刪除來自或連接到該呼叫的所有連接。

7.7 呼叫操作

可以調用Call對象的操作,例如掛斷,保持呼叫,發送re-INVITE等。請參閱Call的參考文檔以獲取更多信息。

7.8 即時消息(IM)

可以使用Call.sendInstantMessage()在通話中發送IM。Call.onInstantMessageStatus()回調方法報告傳出即時消息的傳輸狀態。

除了發送即時消息,還可以使用Call.sendTypingIndication()發送打字指示。

在呼叫中收到的IM和打字指示將在回調函數Call.onInstantMessage()和Call.onTypingIndication()中報告。

或者,您可以通過使用Buddy.sendInstantMessage()和Buddy.sendTypingIndication()發送IM和打電話外的指示。有關更多信息,請參閱文檔。

7.9 類參考

7.9.1 Call

公有函數

1)Call(Account ACC,INT CALL_ID = PJSUA_INVALID_ID )

構造函數

2)virtual  ~Call()

析構

3)CallInfo getInfo() const

獲取有關此呼叫的詳細信息。

返回

呼叫信息。

4)bool isActive() const

檢查此呼叫是否具有活動的INVITE會話,並且INVITE會話未被斷開。

返回

如果call處於活動狀態,則為真。

5)INT getId() const

獲取與此呼叫相關聯的PJSUA-LIB呼叫ID或索引。

返回

整數大於或等於零。

6)bool hasMedia() const

檢查呼叫是否有活動的媒體會話。

返回

如果是,則為真。

7)Media  * getMedia(unsigned med_idx ) const

獲取指定介質索引的介質。

返回

Media 或NULL(如果invalid 或inactive)

參數

8)pjsip_dialog_cap_status remoteHasCap( INT HTYPE,const string hnameconst string token ) const

檢查遠端(遠程對等體)是否支持指定的功能。

返回

PJSIP_DIALOG_CAP_SUPPORTED如果顯式支持指定的功能,請參閱pjsip_dialog_cap_status以獲取更多信息。

參數

  • htype - 要檢查的標題類型(pjsip_hdr_e),該值可以是:
    • o PJSIP_H_ACCEPT
    • o PJSIP_H_ALLOW
    • o PJSIP_H_SUPPORTED
  • hname -如果htype指定了PJSIP_H_OTHER,則必須在此參數中提供頭名稱。否則,該值必須設置為空字符串(“”)。
  • token -檢查的能力標記。例如,如果HTYPE是PJSIP_H_ALLOW,則令牌指定方法名稱; 如果HTYPE是PJSIP_H_SUPPORTED,則令牌指定諸如“100rel”擴展名。

9)void setUserData(Token  user_data 

將應用程序特定數據附加到呼叫。

然后,應用程序可以通過調用檢查此數據getUserData() 

參數

  • user_data -要附加到任意數據。

10)Token  getUserData() const

獲取附接至該呼叫,先前已經設置與用戶數據()setUserData來

返回  用戶數據

11)pj_stun_nat_type getRemNatType()

獲取遠程端點的NAT類型。

natTypeInSdp 在UaConfig中設置時,這是pjsua-lib的專有特征,在SDP中發送NAT類型。

只有從遠程接收到SDP之后才能調用此功能。這意味着對於來電,只要來電包含SDP,就可以在收到呼叫時立即調用此功能;對於撥出的呼叫,此功能只能在接收SDP后(通常為200 / OK響應INVITE)才能調用。一般情況下,應用程序應在調用onCallMediaState()時或調用該回調之后才能使用該函數。

返回

NAT類型。

參考

Endpoint:: natGetType(),natTypeInSdp

12)void makeCall(const string dst_uri, const CallOpParamPRM 

撥出電話給指定的URI。

參數

  • dst_uri -要放入To頭的URI(通常與目標URI相同)。
  • prm.opt -可選呼叫設置。
  • prm.txOption -可選標題等待添加到發出的INVITE請求。

13)void answer(const  CallOpParamPRM 

通過呼叫設置參數發送對INVITE請求的響應。

根據指定為參數的狀態碼,此功能可能發送臨時響應,建立呼叫或終止呼叫。有關通話設置的注意事項:

  • 如果在此功能的后續呼叫中更改呼叫設置,則僅應用提供的第一個呼叫設置。所以一般來說,應用程序在獲取用戶的確認之前不會提供呼叫設置。
  • 如果在SDP已發送未提供通話設置,即:答案與狀態碼183或者2xx,默認調用的設置將被使用,檢查CallSetting它的默認值。

參數

prm.opt -可選呼叫設置。

prm.statusCode -狀態碼,(100-699)。

prm.reason -可選原因短語。如果為空,將使用默認文本。

prm.txOption -要添加到傳出響應消息的標題等的可選列表。請注意,此消息數據將在此INVITE請求的所有下一個答案/響應中持續存在。

14)void hangup(const CallOpParamPRM 

通過使用根據呼叫狀態適當的方法掛斷呼叫。

此功能比3XX-6xx應答應答呼叫(使用不同的答案() ),在這個函數會掛斷電話,無論狀態和呼叫的角色,而答案()只與早期國家來電工程。

參數

prm.statusCode -我們拒絕來電時可以發送的可選狀態碼。如果值為零,將發送“603 / Decline”。

prm.reason -我們拒絕來電時可以選擇發送的原因短語。如果為空,將使用默認文本。

prm.txOption -要添加到傳出請求/響應消息的標題等的可選列表。

15)void setHold( const  CallOpParamPRM 

將指定的呼叫置於保持狀態。

這將發送re-INVITE與適當的SDP通知遙控器呼叫被擱置。請求本身的最終地位將在報告onCallMediaState()回調,這表示該呼叫的媒體狀態已經改變了應用程序。

參數

prm.options -pjsua_call_flag常量的位掩碼。目前,只能使用標志PJSUA_CALL_UPDATE_CONTACT。

prm.txOption -與請求一起發送的可選消息組件。

16)void reinvite( const  CallOpParamPRM 

發送re-INVITE。

請求本身的最終地位將在報告onCallMediaState()回調,這表示該呼叫的媒體狀態已經改變了應用程序。

參數

prm.opt -可選呼叫設置,如果為空,當前呼叫設置將保持不變。

prm.opt.flag -pjsua_call_flag常量的位掩碼。在此指定PJSUA_CALL_UNHOLD將釋放呼叫保持。

prm.txOption -與請求一起發送的可選消息組件。

17)void update( const  CallOpParamPRM 

發送UPDATE請求。

參數

prm.opt -可選呼叫設置,如果為空,當前呼叫設置將保持不變。

prm.txOption -與請求一起發送的可選消息組件。

18)void xfer(const string DEST const CallOpParamPRM 

啟動呼叫轉移到指定的地址。

該功能將發送REFER請求,指示遠程呼叫方向指定的目的地/目標發起新的INVITE會話。

如果應用程序有興趣監視成功性和傳輸請求的進步,它可以實現onCallTransferStatus()回調,這將報告該呼叫轉移請求的進度。

參數

dest -要聯系的新目標的URI。URI可以是名稱地址或addr-spec格式。

prm.txOption -與請求一起發送的可選消息組件。

19)void xferReplaces( const call & dest_call const CallOpParam & PRM 

發起參加呼叫轉移。

此功能會發送REFER請求指示遠程呼叫方發起新的INVITE會話的URL destCall。在黨dest_call則應從REFER接受者新來電與我們“取代”的號召。

參數

dest_call -呼叫被替換。

prm.options -應用程序可以指定PJSUA_XFER_NO_REQUIRE_REPLACES以阻止在REFER請求創建的傳出INVITE請求中包含“Require:replace”。

prm.txOption -與請求一起發送的可選消息組件。

20)void processRedirect( pjsip_redirect_op CMD 

接受或拒絕重定向響應。

應用程序必須調用此函數后,它在信號PJSIP_REDIRECT_PENDING onCallRedirected()回調,以通知呼叫是否接受或拒絕重定向到當前目標。應用程序可以使用PJSIP_REDIRECT_PENDING命令的組合onCallRedirected()回調此功能將呼叫重定向之前要求用戶權限。

請注意,如果應用程序選擇拒絕或停止重定向(通過分別使用PJSIP_REDIRECT_REJECT或PJSIP_REDIRECT_STOP),則此函數返回之前將調用呼叫斷開回調。如果應用程序拒絕對目標的onCallRedirected()回調也可稱為前如果有另一個目標試試這個函數返回。

參數

cmd -要應用於當前目標的重定向操作。這種說法的語義相似,在說明書onCallRedirected()回調,除了PJSIP_REDIRECT_PENDING這里不接受。

21)void dialDtmf( const string &digits

使用RFC 2833有效載荷格式將DTMF數字發送到遠程。

參數

digits -要發送的DTMF字符串數字。

22)void sendInstantMessage( const  SendInstantMessageParamPRM 

在INVITE會話中發送即時消息。

參數

prm.contentType -MIME類型。

prm.content -消息內容。

prm.txOption -要包括在傳出請求中的標題等的可選列表。txOption中的body描述符被忽略。

prm.userData -可選的用戶數據,在調用IM回調時將返回。

23)void sendTypingIndication( const  SendTypingIndicationParamPRM 

在INVITE會話中發送IM打字指示。

參數

prm.isTyping -確實是為了向遠方指示當地人當前正在鍵入IM。

prm.txOption -要包括在傳出請求中的標題等的可選列表。

24)void sendRequest( const  CallSendRequestParamPRM 

發送任意請求與呼叫。

這對於發送INFO請求是有用的。請注意,應用程序不應該使用此函數發送將更改邀請會話狀態的請求,例如re-INVITE,UPDATE,PRACK和BYE。

參數

prm.method -請求的SIP方法。

prm.txOption -可選消息體和/或要包括在傳出請求中的頭的列表。

字符串dump(布爾with_mediaconst string 縮進

將呼叫和媒體統計信息轉儲為字符串。

返回

呼叫轉儲和媒體統計字符串。

參數

with_media -真的也包括媒體信息。

indent -左縮進的空格。

25)INT vidGetStreamIdx() const

獲取通話中默認視頻流的媒體流索引。

通常這將只是檢索呼叫中第一個激活的視頻流的流索引。如果沒有活動,它將返回第一個不活動的視頻流。

返回

Media 流索引為-1,如果沒有視頻流存在於呼叫中。

26)bool vidStreamIsRunning( INT med_idx,pjmedia_dir DIR ) const

確定指定呼叫的視頻流當前是否正在運行(即,

已被創建,啟動,不被暫停)。

返回

如果目前正在為指定的方向運行流,則為真。

參數

med_idx -媒體流索引,或-1指定默認的視頻媒體。

dir -要檢查的方向。

27)void vidSetStream(pjsua_call_vid_strm_op opconst CallVidSetStreamParam &param)

為指定的呼叫添加,刪除,修改和/或操縱視頻媒體流。

這可能會觸發重新啟動或更新以發送呼叫。

參數

op -要執行的視頻流操作,可能的值是pjsua_call_vid_strm_op。

param -視頻流操作的參數(見CallVidSetStreamParam)。

28)StreamInfo getStreamInfo(unsigned med_idx ) const

獲取指定媒體索引的媒體流信息。

返回

流信息。

參數

med_idx -媒體流索引。

29)StreamStat getStreamStat(unsigned med_idx ) const

獲取指定媒體索引的媒體流統計信息。

返回

流統計。

參數

med_idx -媒體流索引。

30)MediaTransportInfo getMedTransportInfo(unsigned med_idx ) const

獲取指定媒體索引的媒體傳輸信息。

返回

交通信息。

參數

med_idx -媒體流索引。

31)void processMediaUpdate(OnCallMediaStateParamPRM 

內部功能(由callled 端點(工藝更新調用媒體呼吁媒體狀態發生變化時。

32)void processStateChange(OnCallStateParamPRM 

內部功能(通過稱為端點)來處理呼叫狀態的變化。

33)virtual void onCallState(OnCallStateParamPRM 

呼叫狀態發生變化時通知應用程序。

然后,應用程序可以查詢通話信息通過調用來獲取詳細呼叫狀態的getInfo()函數。

參數

prm -回調參數

34)virtual void onCallTsxState(OnCallTsxStateParamPRM 

這是一個通用回調,當呼叫中的一個事務已經改變狀態時被調用。

例如,應用程序可以實現此回調,以監視傳出請求的狀態,或者以最終響應回答未處理的傳入請求(如INFO)。

參數

prm -回調參數

35)virtual void onCallMediaState(OnCallMediaStateParamPRM 

當通話中的媒體狀態發生變化時通知應用程序。

正常應用需要實現這種回調,例如將呼叫的媒體連接到聲音設備。當使用ICE時,也會調用此回調來報告ICE協商失敗。

參數

prm -回調參數

36)virtual void onCallSdpCreated(OnCallSdpCreatedParamPRM 

當呼叫剛剛創建本地SDP(用於初始或隨后的SDP報價/答案)時通知應用程序。

應用程序可以在遠程SDP發送和/或協商之前實施此回調來修改SDP,例如,以每個帳戶/呼叫基礎編解碼器優先級應用或添加自定義/專有SDP屬性。

參數

prm -回調參數

37)virtual void onStreamCreated(OnStreamCreatedParamPRM 

在創建媒體會話之前,注冊到會議橋之前通知應用程序。

如果已將媒體處理端口添加到流中,應用程序可能會返回不同的媒體端口。然后,這個媒體端口將被添加到會議橋。

參數

prm -回調參數

38)virtual void onStreamDestroyed(OnStreamDestroyedParamPRM 

Media 會議從會議橋被注銷並被破壞時通知應用程序。

參數

prm -回調參數

39)virtual void onDtmfDigit(OnDtmfDigitParamPRM 

傳入DTMF數字時通知應用程序。

參數

prm -回調參數

40)virtual void onCallTransferRequest(OnCallTransferRequestParamPRM 

通知申請被轉移(即

REFER被接收)。應用程序可以通過設置代碼來決定接受/拒絕傳輸請求(默認為202)。當此回調未實現時,默認行為是接受轉移。

參數

prm -回調參數

41)virtual void onCallTransferStatus(OnCallTransferStatusParamPRM 

通知應用以前發送的呼叫轉移請求的狀態。

應用程序可以監視呼叫轉移請求的狀態,例如決定是否終止現有呼叫。

參數

prm -回調參數

42)virtual void onCallReplaceRequest(OnCallReplaceRequestParamPRM 

通過替換標題通知有關INVITE的應用程序。

應用程序可以通過設置非2xx代碼來拒絕該請求。

參數

prm -回調參數

43)virtual void onCallReplaced(OnCallReplacedParamPRM 

通知應用程序現有呼叫已被新呼叫替換。

當PJSUA-API使用Replaces標頭接收到INVITE請求時,會發生這種情況。

這種回調被調用后,通常PJSUA-API將斷開此呼叫並建立一個新的呼叫newCallId

參數

prm -回調參數

44)virtual void onCallRxOffer(OnCallRxOfferParamPRM 

當通話接收到來自遙控器的新報價時通知應用程序(即

接收到使用SDP的re-INVITE / UPDATE)。應用程序可以通過設置代碼來決定接受/拒絕報價(默認為200)。如果報價被接受,應用程序可以更新應答的通話設置。當此回調未實現時,默認行為是接受使用當前通話設置的報價。

參數

prm -回調參數

45)virtual void onCallTxOffer(OnCallTxOfferParamPRM 

通話時通知應用程序接收到沒有SDP報價的INVITE。

應用程序可以更新呼叫設置(例如:添加音頻/視頻),或啟用/禁用編解碼器,或者從回調內更新其他媒體會話設置,但是,如標准(RFC3261第14.2節)所規定的那樣,它必須確保更新與需要對等體支持的現有媒體會話(編解碼器,傳輸或其他參數)重疊,這是為了避免對等體拒絕該提議。

當不執行此回調時,默認行為是使用當前活動媒體會話發送SDP報價(每個媒體類型上都有所有啟用的編解碼器)。

參數

prm -回調參數

46)virtual void onInstantMessage(OnInstantMessageParamPRM 

通知輸入MESSAGE請求的應用程序。

參數

prm -回調參數

47)virtual void onInstantMessageStatus(OnInstantMessageStatusParamPRM 

通知應用程序關於傳出MESSAGE請求的傳送狀態。

參數

prm -回調參數

48)virtual void onTypingIndication(OnTypingIndicationParamPRM 

通知應用程序打字指示。

參數

prm -回調參數

49)virtual  pjsip_redirect_op onCallRedirected(OnCallRedirectedParamPRM 

當呼叫即將重新發送INVITE請求到指定的目標時,調用此回調,遵循先前接收到的重定向響應。

應用程序可以接受重定向到指定的目標,僅拒絕此目標,並使會話繼續嘗試列表中的下一個目標,如果此類目標存在,則完全停止整個重定向過程,並導致會話斷開或延遲決定要求用戶確認。

此回調是可選的,默認行為是不遵循重定向響應。

返回

為目標執行的行動。將此參數設置為以下值之一:

  • PJSIP_REDIRECT_ACCEPT:立即接受重定向。設置后,呼叫將立即重新發送INVITE請求給目標。
  • PJSIP_REDIRECT_ACCEPT_REPLACE:立即接受重定向,並將To標題替換為當前目標。設置后,呼叫將立即重新發送INVITE請求給目標。
  • PJSIP_REDIRECT_REJECT:立即拒絕此目標。如果存在,則呼叫將繼續重試下一個目標,如果沒有更多目標嘗試,則斷開該呼叫。
  • PJSIP_REDIRECT_STOP:停止整個重定向過程,並立即斷開通話。該onCallState()回調將PJSIP_INV_STATE_DISCONNECTED狀態回調返回后立即調用。
  • PJSIP_REDIRECT_PENDING:如果不能立即作出決定(例如要求用戶確認),則設置為此值。然后應用程序必須調用processRedirect() ,以接受或在獲取用戶決定拒絕該重定向。

參數

prm -回調參數

50)virtual void onCallMediaTransportState(OnCallMediaTransportStateParamPRM 

當媒體傳輸狀態更改時,將調用此回調。

參數

prm -回調參數

51)virtual void onCallMediaEvent(OnCallMediaEventParamPRM 

有關媒體事件(例如視頻通知)的通知。

這種回調很可能是從媒體線程調用的,所以應用程序不能在這個回調中執行大量的處理。特別是,應用程序不得在此回調中銷毀呼叫或媒體。如果應用程序需要執行更復雜的任務來處理事件,則應將任務發布到另一個線程。

參數

prm -回調參數

52)virtual void onCreateMediaTransport(OnCreateMediaTransportParamPRM 

應用程序可以使用此回調來實現呼叫的自定義媒體傳輸適配器,或者使用完全全新的媒體傳輸替換媒體傳輸。

創建新呼叫時調用此回調。圖書館創造了該呼叫的媒體傳輸,它被設置為mediaTp回調的論據。回調可能會隨媒體傳輸的實例而改變,以便呼叫使用。

參數

prm -回調參數

53)virtual void onCreateMediaTransportSrtp(OnCreateMediaTransportSrtpParamPRM 

當創建SRTP媒體傳輸時,將調用此回調。

應用程序可以修改SRTP設置srtpOpt指定cryptos和密鑰,其將被使用。請注意,應用程序不應該修改字段pjmedia_srtp_setting.close_member_tp,只能修改字段pjmedia_srtp_setting.use初始INVITE。

參數

prm -回調參數

 

公共靜態功能

54)static Call * lookup( INT CALL_ID 

獲取呼叫的指定呼叫ID級別。

返回

呼叫實例或NULL,如果沒有找到。

參數

call_id -要查找的呼叫ID

7.9.2 設置

55)struct pj::CallSetting

通話設置。

7.9.3 信息和統計

56)struct pj::CallInfo

呼叫信息。

應用程序可以通過調用查詢呼叫信息呼叫::的getInfo() 

57)struct pj::CallMediaInfo

呼叫媒體信息。

58)struct pj::StreamInfo

媒體流信息。

59)struct pj::StreamStat

媒體流的統計數據。

60)struct pj::JbufState

此結構描述抖動緩沖狀態。

61)struct pj::RtcpStat

雙向RTP流統計。

62)struct pj::RtcpStreamStat

單向RTP流統計。

63)struct pj::MathStat

此結構描述統計狀態。

64)struct pj::MediaTransportInfo

這種結構描述媒體傳輸信息。

它對應於pjmedia_transport_info結構。

7.9.4 回調參數

65)struct pj::OnCallStateParam

該結構包含參數用於call:: onCallState()回調。

66)struct pj::OnCallTsxStateParam

該結構包含參數用於call:: onCallTsxState()回調。

67)struct pj::OnCallMediaStateParam

該結構包含參數用於call:: onCallMediaState()回調。

68)struct pj::OnCallSdpCreatedParam

該結構包含參數用於call:: onCallSdpCreated()回調。

69)struct pj::OnStreamCreatedParam

該結構包含參數用於call:: onStreamCreated()回調。

70)struct pj::OnStreamDestroyedParam

該結構包含參數用於call:: onStreamDestroyed()回調。

71)struct pj::OnDtmfDigitParam

該結構包含參數用於call:: onDtmfDigit()回調。

72)struct pj::OnCallTransferRequestParam

該結構包含參數用於call:: onCallTransferRequest()回調。

73)struct pj::OnCallTransferStatusParam

該結構包含參數用於call:: onCallTransferStatus()回調。

74)struct pj::OnCallReplaceRequestParam

該結構包含參數用於call:: onCallReplaceRequest()回調。

75)struct pj::OnCallReplacedParam

該結構包含參數用於call:: onCallReplaced()回調。

76)struct pj::OnCallRxOfferParam

該結構包含參數用於call:: onCallRxOffer()回調。

77)struct pj::OnCallRedirectedParam

該結構包含參數用於call:: onCallRedirected()回調。

78)struct pj::OnCallMediaEventParam

該結構包含參數用於call:: onCallMediaEvent()回調。

79)struct pj::OnCallMediaTransportStateParam

該結構包含參數用於call:: onCallMediaTransportState()回調。

80)struct pj::OnCreateMediaTransportParam

該結構包含參數用於call:: onCreateMediaTransport()回調。

81)struct pj::CallOpParam

該結構包含參數用於 Call::answer()Call::hangup()Call::reinvite()Call::update()Call::xfer()Call::xferReplaces()Call::setHold().

82)struct pj::CallSendRequestParam

該結構包含參數用於call:: sendRequest將()

83)struct pj::CallVidSetStreamParam

該結構包含參數用於call:: vidSetStream()

7.9.5 其他

84)struct pj::MediaEvent

此結構描述媒體事件。

它對應於pjmedia_event結構。

85)struct pj::MediaFmtChangedEvent

此結構描述媒體格式更改事件。

86)struct pj::SdpSession

該結構描述了SDP會話描述。

它對應於pjmedia_sdp_session結構。

87)struct pj::RtcpSdes

RTCP SDES結構。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM