34 lines
861 B
Go
34 lines
861 B
Go
package call
|
|
|
|
import (
|
|
"context"
|
|
|
|
"ai-operator/internal/media"
|
|
"time"
|
|
)
|
|
|
|
type CallSession struct {
|
|
CallID string
|
|
AsteriskChannelID string
|
|
CallerNumber string
|
|
CallerName string
|
|
State CallState
|
|
Language Language
|
|
RegionCode string
|
|
StasisArgs []string
|
|
Route string
|
|
Answered bool
|
|
BridgeID string
|
|
MediaChannelID string
|
|
MediaConnectionID string
|
|
MediaConnected bool
|
|
MediaCancel context.CancelFunc
|
|
MediaStats media.Stats
|
|
StartedAt time.Time
|
|
EndedAt *time.Time
|
|
}
|
|
|
|
func NewSession(callID, channelID, callerNumber string, startedAt time.Time) CallSession {
|
|
return CallSession{CallID: callID, AsteriskChannelID: channelID, CallerNumber: callerNumber, State: StateCallStarted, Language: LanguageUnknown, StartedAt: startedAt}
|
|
}
|